sql 存储过程和触发器
mysql-----------------------------------------------------------------------------------------------------------------------------------------
- BEGIN
- DECLARE i INT4;
- DECLARE n INT4;
- DELETE FROM article_keywords WHERE article_id = NEW.id;
- set i = 0;
- select func_get_split_string_total(NEW.keywords,';') INTO i;
- set n = 1;
- while n<=i DO
- INSERT INTO article_keywords (article_id,keyword,sort_id) VALUES (NEW.id, func_get_split_string(NEW.keywords,';', n),n);
- set n = n+1;
- end WHILE;
- end
- BEGIN
- DECLARE i INT4;
- DECLARE n INT4;
- DELETE FROM article_keywords WHERE article_id = NEW.id;
- set i = 0;
- select func_get_split_string_total(NEW.keywords,';') INTO i;
- set n = 1;
- while n<=i DO
- INSERT INTO article_keywords (article_id,keyword,sort_id) VALUES (NEW.id, func_get_split_string(NEW.keywords,';', n),n);
- set n = n+1;
- end WHILE;
- end
- BEGIN
- DELETE FROM article_keywords WHERE article_id = OLD.id;
- end
postgresql-----------------------------------------------------------------------------------------------------------------------------------------
- CREATE or Replace FUNCTION func_classification_updateTime() RETURNS trigger AS $func_classification_updateTime$
- BEGIN
- update user_classification set updated_date = NOW() where user_id = NEW.user_id and name = NEW.classification_system_name;
- return null;
- END;
- $func_classification_updateTime$ LANGUAGE plpgsql;
- CREATE TRIGGER t_classification_updateTime AFTER INSERT OR UPDATE OR DELETE ON classification_system
- FOR EACH ROW EXECUTE PROCEDURE func_classification_updateTime();
mysql存储过程-------------------------------------------------------------------------------------------------------------------------------
- create procedure pro14()
- begin
- DECLARE stop1 INT DEFAULT 0; -- 定义终止符stop1
- DECLARE city_adcode CHAR(225); -- 游标当前的城市adcode
- DECLARE province_temp CHAR(225); -- 临时存储省份字段
- DECLARE cur CURSOR FOR (select adcode from china_address where adcode not in (select adcode from china_address where adcode like '%0000')); -- 定义游标,查询所有市的adcode
- DECLARE CONTINUE HANDLER FOR SQLSTATE '' SET stop1=1; -- 当游标遍历结束时,终止符stop1置为1
- OPEN cur; -- 开启游标
- WHILE (stop1 <> 1) DO -- 循环
- FETCH cur INTO city_adcode;-- 这个语句用指定的打开光标读取下一行(如果有下一行的话),并且前进光标指针,将当前游标的城市adcode赋给city_adcode参数
- select province into province_temp from china_address where adcode=CONCAT(left(city_adcode, 2),''); -- 根据city_adcode参数设置province_temp为当前城市的省份名称
- update china_address set province= province_temp where adcode=city_adcode; -- 更新当前city_adcode对应的记录的省份为province_temp
- END WHILE; -- 结束循环
- CLOSE cur;-- 这个语句关闭先前打开的光标。
- end;
sql 存储过程和触发器的更多相关文章
- 查找SQL 存储过程、触发器、视图!
ALTER proc [dbo].[SP_SQL](@ObjectName sysname) as set nocount on ; declare @Print nvarchar(max)-- ...
- SQL存储过程和触发器
一. 存储过程 1. 有关概念 存储过程是由SQL语句及控制流语句组成的集合.调用一个存储过程,可以一次性地执行过程中的所有语句.从这一点来说,它类似于程序. 存储过程由用户建立,它作为数据库的一个 ...
- 走向面试之数据库基础:三、SQL进阶之变量、事务、存储过程与触发器
一.变量那点事儿 1.1 局部变量 (1)声明局部变量 DECLARE @变量名 数据类型 ) DECLARE @id int (2)为变量赋值 SET @变量名 =值 --set用于普通的赋值 SE ...
- MS SQL Server之光标、存储过程和触发器
光标 通常数据库操作被认为是以数据集为基础的操作,但是光标被用于以记录为单位来进行操作,来获取数据库中的数据的子集.光标一般用于过程化程序里的嵌入的SQL语句. 对光标的定义如下: DECLARE C ...
- 查看SQL SERVER 加密存储过程,函数,触发器,视图
原文:查看SQL SERVER 加密存储过程,函数,触发器,视图 create PROCEDURE sp_decrypt(@objectname varchar(50))ASbeginset noc ...
- SQL基本编程,分支语句,循环语句,存储过程,触发器
基本编程: 定义变量 declare @变量名 数据类型 赋值 set @变量名 = 值 select @变量名 = 值 取值打印 select @变量名 print @变量名 映射到结果集 打印到消 ...
- 转:SQL进阶之变量、事务、存储过程与触发器
一.变量那点事儿 1.1 局部变量 (1)声明局部变量 DECLARE @变量名 数据类型 DECLARE @name varchar(20) DECLARE @id int (2)为变量赋值 SET ...
- SQL server 数据库的索引和视图、存储过程和触发器
1.索引:数据排序的方法,快速查询数据 分类: 唯一索引:不允许有相同值 主键索引:自动创建的主键对应的索引,命令方式不可删 聚集索引:物理顺序与索引顺序一致,只能创建一个 非聚集索引:物理顺序与索引 ...
- SQL Server CLR 使用 C# 自定义存储过程和触发器
资源来源:https://www.cnblogs.com/Brambling/p/8016060.html SQL Server CLR 使用 C# 自定义存储过程和触发器 这一篇博客接着上一篇博 ...
随机推荐
- react 组件导出
前段时间忙于公司的招聘,导致react学习停滞了一段时间.今天通过react官方文档在本地创建了一个项目,把里面的文件自己重新开发.遇到了一个有意思的问题 class App extends Reac ...
- struts2常量配置
常量提供了一个简单的方法来定制Struts应用程序通过定义关键设置修改插件框架和行为. struts-default.xml—基础xml,默认包含这个文件是自动装入struts.xml文件,当我们进行 ...
- 练习题:试使用C#编程实现银行、ATM等功能
练习题:试使用编程实现银行.ATM等功能 using System; using System.Collections.Generic; using System.Linq; using System ...
- Struts2 2.5版本的通配符和动态方法调用的问题
Struts2.5版本之后,使用通配符的时候出现错误 配置的四个action,使用通配符和动态方法的时候找不到其中的update方法后来经过查找才知道原来是版本加了一个 <action name ...
- DbVisualizer中SQL编辑框输入中文显示乱码
打开tools工具栏,选择tool properties,选择General--Appearance--Fonts,将fonts上面的三个字体都设置为仿宋,Apply,OK.
- load data local to table
步骤: 1.使用show语句查找服务器上当前存在的数据库: 2.如果数据库存在,尝试访问它,之后创建表(我这里是之前创建的,所以就直接show tables) 3.将本地文件加载到表中,创建一个文本文 ...
- 523. Continuous Subarray Sum
class Solution { public: bool checkSubarraySum(vector<int>& nums, int k) { unordered_map&l ...
- Linux第六节课学习笔记
if条件测试语句可以让脚本根据实际情况自动执行相应的命令,可以分为单分支.双分支与多分支. /dev/null为无回收功能的垃圾箱. read是用来读取用户输入信息的命令,-p用来显示提示信息. fo ...
- 联想拯救者r720+固态浦科特M8PeGN 的bios 设置
最近笔记本左边的两个usb3.0接口都坏了,win10 报错usb端口上的电涌 真是一脸蒙B! 然后去打售后电话,说昌平没有售后,需要去海淀黄庄去维修,然后下午就去了那里,维修的人员说硬件坏了,需要1 ...
- 添加ssl证书
ssl证书会使你的网站更加安全,防止isp在你的网站显示时添加广告,浏览网页时地址栏左边有一个绿色安全的图标,使用户感觉更加安全放心. 颁发ssl证书的机构很多,有收费的,也有免费的.当然对于自己的小 ...