- 查询全天的数据
字段名 BETWEEN '2020-07-28' AND DATEADD(DAY,1,'2020-07-28') -- DAY表示日期类型 这里表示查询28号0点到29号0点的全部数据
-
Sqlserver存储过程模板
USE 数据库; -- 如果存储过程存在 先删除 if Exists(select name from sysobjects where NAME = '存储过程名' and type='P') drop procedure 存储过程名 GO CREATE PROCEDURE 存储过程名 需要传递的参数逗号隔开 AS -- 声明变量 DECLARE 变量名 类型 -- 条件判断 IF 条件一 AND 条件二.... BEGIN 逻辑语句 END ELSE IF ..... BEGIN 逻辑语句 END ELSE BEGIN 逻辑语句 END sql语句 GO
-
触发
-- 触发器测试 IF EXISTS (SELECT *FROM sysobjects WHERE name='AddOutPut') DROP TRIGGER AddOutPut GO CREATE TRIGGER AddOutPut ON ProductionInputHistory FOR INSERT -- FOR/AFTER为后触发器 AS BEGIN UPDATE LineLedger SET Cumulative = Cumulative+(SELECT product_qty FROM Inserted ) WHERE line_id = (SELECT line_id FROM Inserted ) END GO -- 触发器测试 IF EXISTS (SELECT *FROM sysobjects WHERE name='DelOutPut') DROP TRIGGER DelOutPut GO CREATE TRIGGER DelOutPut ON ProductionInputHistory FOR DELETE -- FOR/AFTER为后触发器 AS BEGIN UPDATE LineLedger SET Cumulative = Cumulative-(SELECT product_qty FROM Inserted ) WHERE line_id = (SELECT line_id FROM Inserted ) END GO -- 触发器测试 IF EXISTS (SELECT *FROM sysobjects WHERE name='UpdateOutPut') DROP TRIGGER UpdateOutPut GO CREATE TRIGGER UpdateOutPut ON ProductionInputHistory FOR UPDATE -- FOR/AFTER为后触发器 AS BEGIN UPDATE LineLedger SET Cumulative = Cumulative+(SELECT product_qty FROM Inserted )-(SELECT product_qty FROM Deleted) WHERE line_id = (SELECT line_id FROM Inserted ) END GO
触发器分类:
类型:
1.后触发器 (AFTER,FOR)先执行对应语句,后执行触发器中的语句
2.前触发器 并没有真正的执行触发语句(insert,update,delete),而是执行触发后的语句
3.行级触发器 (FOR EACH ROW) 在SQL server 中不存在
注意:触发器中有两个临时表 Inserted 、 Deleted分别表示新纪录和旧纪录。Insert 时可以根据inserted表数据(即将新增的数据)来进行相关语句操作 Delete时同上 可以对Deleted临时表(即将删除的数据)进行操作 Update时可以理解为 旧纪录(即将被替换掉的数据)存放在Deleted 新纪录(即将提交的数据)存放在Inserted临时表
-
游标cursor
USE 数据库名 DECLARE @plan_id INT = 2 DECLARE @res nvarchar(20) DECLARE CUR CURSOR FOR SELECT task_id FROM Task WHERE plan_id = @plan_id -- 此处查询的个数要定影相应个数的变量来接手数据 -- 打开游标 open CUR fetch next FROM CUR into @res WHILE (@@fetch_status=0) BEGIN print @res fetch next FROM CUR into @res END CLOSE CUR DEALLOCATE CUR
SQLServer 语句记录
最新推荐文章于 2024-04-12 16:47:06 发布