蝶变新生大结局,诺顿安全认证,群交40p
学习t-sql时记录的笔记,记得并不全也不详细
declare @age int select @age = datediff(year,stuage,getdate()) from tbstudent where stuname = '孙悟空' if(@age>=18) begin --必须有begin..end print n'已成年' end else begin print n'未成年' end
declare @sum int set @sum = 0 declare @i int set @i = 1 while(@i <= 100) begin if(@i % 2 <> 0) begin set @sum = @sum + @i end set @i = @i + 1 end print @sum
分为标量函数、表值函数(内联表值函数和多语句表值函数)
-- 语法 create function 函数名 ([参数列表]) 可以不写参数,先写变量名再写类型 returns 返回值类型 as begin -- ······函数体语句 return 返回值 end
-- 语法 create function 函数名 ([参数名]) returns table as return (一条select语句)
多语句表值函数可以看作是标量函数和内联表值函数的结合体
-- 语法 create function 函数名([参数列表]) returns 表变量名 table (表变量的字段定义) as begin sql return 这里啥都不写 end
存储过程时存储在服务器上的一组t-sql语句的集合,用来完成一个特定功能。
分为系统存储过程(系统自带)和自定义存储过程
-- 语法 create procedure(或proc) 存储过程名(up_) [参数列表] --这里的参数列表不能使用圆括号 begin 存储过程代码 end
事务时并发控制的单位,他是用户定义的一个操作,这些操作要么都做要么都不做,不可分割。
分为:sql server事务和ado.net事务
-- 语法 begin tran --开始一个事务操作 commit tran --提交 rollback --回滚
c#中使用时,通常把事务的操作封装到存储过程中
-- 语法 create trigger 触发器名字 on 表名 after(或for) 之后触发 / instead of 之前触发 [insert/delete/update] as begin -- ······ end
触发器的触发条件:insert,delete,update
create trigger tr_bank_insert on bank after insert as begin print '往bank表中插入了记录' end create trigger tr_bank_delete on bank after delete as begin declare @id int declare @username nvarchar(8) declare @usermoney int select @id = id, @usermoney = usermoney, @username = username from deleted insert into bankbak values(@id, @username, @usermoney) end select * from bank select * from bankbak delete from bank where id = 3
sql server的触发器是表级触发器,表上一次性的多次操作只触发一次
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
数据库SQL---数据库、基本表、视图、索引的定义、修改、删除
在 Azure CentOS VM 中配置 SQL Server 2019 AG - (上)
在 Azure CentOS VM 中配置 SQL Server 2019 AG - (下)
网友评论