【2017-03-16】TSQL基本编程、存储过程、触发器

一、TSQL基本编程

1、定义变量 :declare @变量名 数据类型        变量名前面必须加"@"符号

declare @aaa int;

declare @bbb nvarchar(200);


2、赋值: set @变量名 = 值            select @变量名 = 值  -- 好用

select @bbb ='哈哈';          


3、取值打印:   select @变量名      print @变量名

select @bbb;

print @bbb;

select top 1 name from Student;   --从Student表中name列第一行数据取出来

4、分支语句
if @aaa>@bbb
begin
语句。。。。
end
else
begin
....
end

5、循环语句:
注意循环四要素:初始条件,循环条件,循环体,状态改变

declare @a int;
select @a = 1;    --初始条件

while  @a<=10   --循环条件

begin

     select @a;              --循环体

     select @a=@a+1;   --状态改变

end

 

二、存储过程将一堆代码放到存储过程中,可以一句话调用这些代码

相当于C#中的函数

1、创建一个存储过程 Jiafa

create proc Jiafa     

@a int,

@b int

as

         return @a+@b;

2、调用该存储过程

exec Jiafa 5,10

打印结果:

declare @ccc int;   --定义一个变量

exec @ccc=Jiafa 5,10;  --把加法的结果赋给变量ccc

select @ccc;           --打印ccc

 

3、存储过程常用用法:

将查看表的代码放在存储过程中,在使用的时候只需调用存储过程exec SelectAll 就可

create proc SelectAll

as

select * from Student

select * from Score

select * from Course

select * from Teacher

 

exec SelectAll

 

三、触发器

一个特殊的存储过程,没办法直接调用它,而是通过增删改查的动作来触发它。

一个表的一个动作只能有一个触发器。

create trigger 哪个表的哪个动作       --创建一个触发器+ 名字
on 表名                                       --针对于哪一个表写的触发器     
for 动作                                      --针对于哪一个动作触发之后的触发器
instead of 动作                             --针对于哪一个动作执行替换
as
触发器内容

 

 

creat trigger users_delete

on users

for delete

as

select * from users

 

触发器常用用法:级联删除

要删除class表中的数据 因为class为主键表 直接删除删除不掉所以用触发器来实现。

在class表中遇到delete 时触发,先把外键表中对应的数据删除,再把主键表中的数据删除。

 

转载于:https://www.cnblogs.com/qq609113043/p/6560122.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值