一、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 时触发,先把外键表中对应的数据删除,再把主键表中的数据删除。

【2017-03-16】TSQL基本编程、存储过程、触发器的更多相关文章

  1. Wed Nov 01 13:03:16 CST 2017 WARN: Establishing SSL connection without server's identity verification is not recommended.

    报错:Wed Nov 01 13:03:16 CST 2017 WARN: Establishing SSL connection without server's identity verifica ...

  2. java编程如何实现2017-01-16 22:28:26.0这样的时间数据,转换成2017:01:16:22:28:26这样的时间数据

    不多说,直接上干货! timereplace.java package zhouls.bigdata.DataFeatureSelection.util; /* * 这个程序,是用来做补充的 */ p ...

  3. 2020重新出发,MySql基础,MySql视图&索引&存储过程&触发器

    @ 目录 视图是什么 视图的优点 1) 定制用户数据,聚焦特定的数据 2) 简化数据操作 3) 提高数据的安全性 4) 共享所需数据 5) 更改数据格式 6) 重用 SQL 语句 MySQL创建视图 ...

  4. 2017.1.16【初中部 】普及组模拟赛C组总结

    2017.1.16[初中部 ]普及组模拟赛C组 这次总结我赶时间,不写这么详细了. 话说这次比赛,我虽然翻了个大车,但一天之内AK,我感到很高兴 比赛 0+15+0+100=115 改题 AK 一.c ...

  5. C# 得到sqlserver 数据库存储过程,触发器,视图,函数 的定义

    经常从 生产环境 到测试环境, 需要重新弄一整套的数据库环境, 除了表结构以及表结构数据,可以用动软代码生成器 生成之外, 像 存储过程,触发器,等,好像没有批量操作的,意义哥哥农比较麻烦, 所以最近 ...

  6. 2017.9.16~17,热烈庆祝共创力罗老师《敏捷MINI体验式实战培训》在某大型企业成功举办!

    2017.9.16~17日,深圳市共创力企业管理咨询有限公司为某上市企业提供了为期两天的内训服务.该次内训的主题为<敏捷MINI体验式实践培训>,为期两天.此次培训由共创力资深讲师Geor ...

  7. easyUI datebox 日期空间斜杠格式化。例如将日期空间中显示2017-03-13,改为2017/03/13

    easyUI datebox 日期空间斜杠格式化 将日期空间中显示2017-03-13,改为2017/03/13 //日期控件斜杠格式化 function formatDate(date){ if( ...

  8. jetbrains idea/webstorm等(注册,激活,破解码,一起支持正版,最新可用)(2017.3.16更新)【转】

    选择 License server (2017.3.16更新) http://idea.imsxm.com/ 详细请参考:  http://www.cnblogs.com/ys-wuhan/p/584 ...

  9. 2017.2.16 开涛shiro教程-第十七章-OAuth2集成(一)服务器端

    原博客地址:http://jinnianshilongnian.iteye.com/blog/2018398 根据下载的pdf学习. 开涛shiro教程-第十七章-OAuth2集成 1.OAuth2介 ...

随机推荐

  1. jQ小图标上下滑动特效

    嗯,又到了,夜静饥寒的时候,手指颤抖,回望去,屋内满是寂静,寥寥绰影,咳咳咳,想我程序员之路还没到终点...就...咳咳咳 好了日常神经结束,还要涂我的唇膏.还剩下,最后一章,js动画(四),明天放上 ...

  2. Python内置数据类型总结

    python的核心数据类型:(很多语言之提供了数字,字符串,文件数据类型,其他形式的数据类型都以标准库的形式表示 也就是用之前需要import ) ,但是python有很多都是内置的,不需要impor ...

  3. Spring之循环依赖

    转:http://my.oschina.net/tryUcatchUfinallyU/blog/287936 概述 如何检测循环依赖 循环依赖如何解决 Spring如何解决循环依赖 主要的几个缓存 主 ...

  4. ES1:Windows下安装ElasticSearch

    ElasticSearch(简称ES)是一个基于Lucene的分布式全文搜索服务器,本随笔演示在Windows安装ElasticSearch和用于管理ES的Head插件. ElasticSearch官 ...

  5. 自定义滚动条Js简版

    <!DOCTYPE html><html><head><meta charset="UTF-8"><title>自定义滚 ...

  6. 访问量分类统计(QQ,微信,微博,网页,网站APP,其他)

    刚准备敲键盘,突然想起今天已经星期五了,有点小兴奋,一周又这么愉快的结束,又可以休息了,等等..我好像是来写Java博客的,怎么变成了写日记,好吧,言归正传. 不知道大家有没有遇到过这样的需求:统计一 ...

  7. linux虚拟机CentOS 7完整安装流程截图

    安装VMware虚拟机过程此处省略,只介绍在虚拟机上安装linux系统CentOS 7过程截图. 1 新建虚拟机 2 命名虚拟机,选择linux安装位置 3 选择虚拟机处理器数量和处理器核心数 4 分 ...

  8. 谁该吃药了(线性判别法LDA小故事)

    一家"胡说八道医院"拥有一种治疗癌症的药物, 根据过去的记录, 该药物对一些患者非常有效, 但是会让一些患者感到更痛苦... 我们希望有一种判别准则能帮助我们判断哪些病人该吃药,哪 ...

  9. Swift 2.0 UItableView 的简单使用

    在IOS开发中,UItableView 的使用真的是最常见最普通的了,现在在自学swift 今天也是这用Swift 写了写 UItableview的使用,还有一些经常出错的地方.下面我先把整个控制器的 ...

  10. js加载XML文件

    // XML文件 <?xml version="1.0" encoding="gb2312"?> <root> <father n ...