SQL Sever语言 存储过程及触发器
存储过程:就像函数一样的
会保存在数据库中--》可编程性--》存储过程
创建存储过程: 保存在数据库表,可编程性,存储过程
create proc jiafa
--需要的参数
@a int,
@b int
as
--存储过程内容
declare @c int;
set @c =@a + @b;
return @c;
go
相当于一个函数
public int 函数名 (变量1,变量2)
{
函数语句
return int c
}
存储之后可以直接调用,
执行存储过程
exec 存储名
有返回值时
declare @f int;
exec @f= jiafa 3,5;
print @f;
--例:在CAR表中查询对应种类的车辆数目
--存储过程
creat proc ChaXun
@n varchar(20)
as
declare @num int
select @num=coount(*) from car where name like '%'+@n+'%'
go
--调用方法
declare @m int
exec @m=ChaXun '奥迪'
print @m
触发器:
是一个特殊的存储过程;
通过增删改查的动作来触发执行,没有参数,没有返回值;
存储位置在要执行的表的下拉列表中
不去触发不执行,满足条件之后执行,相当于HTML中的事件
create trigger 触发器名称
Insert_Student --命名规范 动作_要执行的表名 为了以后更容易的了解触发器要使用的情况
on Student --针对于那张表
for insert --针对于那个动作来触发
--onclick= "show()"
as
触发器要执行的代码
go
1、for的意思是在动作执行之后触发
2、instead of delete 的意思是删除之前的引发,可以理解为替代,写了这个之后写的代码就没有用了,就被触发器的代码覆盖了
删除存在外键的表的内容时,需要先删除外键连接的表的内容
create trigger Delete_info
on inf0
instead of delete
as
declare @c varchar(20)
select @c =Code from deleted
delete from work where infocode=@c
delete from family where infocode=@c
delete from info where code=@c
go
instead of的使用比for的频繁
面试过程中问的比较多,但实际工作是用的比较少
SQL Sever语言 存储过程及触发器的更多相关文章
- SQL Server数据库(SQL Sever语言 存储过程及触发器)
存储过程:就像函数一样的会保存在数据库中-->可编程性-->存储过程 创建存储过程: 保存在数据库表,可编程性,存储过程create proc jiafa --需要的参数@a int,@b ...
- SQL Server数据库(SQL Sever语言 CRUD)
使用SQL Sever语言进行数据库的操作 常用关键字identity 自增长primary key 主键unique 唯一键not null 非空references 外键(引用) 在使用查询操作数 ...
- 查看SQL SERVER 加密存储过程,函数,触发器,视图
原文:查看SQL SERVER 加密存储过程,函数,触发器,视图 create PROCEDURE sp_decrypt(@objectname varchar(50))ASbeginset noc ...
- sql Sever的存储过程转换为mysql的
总体来说,sql sever和Mysql的存储过程的思路都是一样的,但是在语法和结构上还是有很大的区别的.1. 在mysql中写存储过程所有的dbo都要去掉.2. 每一个sql语句后面都需要加上:否则 ...
- Oracle PL/SQL异常、存储过程和触发器
一.异常 1.处理异常 (1)除数不为0 declare b number; begin b:; exception when zero_divide then dbms_output.put_lin ...
- SQL Server数据库(SQL Sever语言 事务)
事务:保障流程的完整执行保证程序某些程序在运行时同时成功同时失败,保证程序的安全性 begin tran --在流程开始的位置加 --此处写SQL语句 if @@error>0 --ERRORS ...
- SQL Server数据库(SQL Sever语言 函数以及SQL编程)
1.数学函数:操作一个数据,返回一个结果 --去上限: ceiling ☆select ceiling(price) from car --去下限:floor ☆select floor(price) ...
- SQL Sever语言 事务
事务:保障流程的完整执行保证程序某些程序在运行时同时成功同时失败,保证程序的安全性 begin tran --在流程开始的位置加 --此处写SQL语句 if @@error>0 --ERRORS ...
- 走向面试之数据库基础:三、SQL进阶之变量、事务、存储过程与触发器
一.变量那点事儿 1.1 局部变量 (1)声明局部变量 DECLARE @变量名 数据类型 ) DECLARE @id int (2)为变量赋值 SET @变量名 =值 --set用于普通的赋值 SE ...
随机推荐
- [bzoj4247][挂饰] (动规+排序)
Description JOI君有N个装在手机上的挂饰,编号为1...N. JOI君可以将其中的一些装在手机上. JOI君的挂饰有一些与众不同——其中的一些挂饰附有可以挂其他挂件的挂钩.每个挂件要么直 ...
- git删除远程remote分支
git 命令如下: git push origin --delete <远程分支名字>
- SpringBoot 拦截器--只允许进入登录注册页面,没登录不允许查看其它页面
SpringBoot注册登录(一):User表的设计点击打开链接 SpringBoot注册登录(二):注册---验证码kaptcha的实现点击打开链接 SpringBoot注册登录(三):注册--验证 ...
- 藏妹子之处(excel)
问题描述: 今天CZY又找到了三个妹子,有着收藏爱好的他想要找三个地方将妹子们藏起来,将一片空地抽象成一个R行C列的表格,CZY要选出3个单元格.但要满足如下的两个条件: (1)任意两个单元格都不在同 ...
- CODEVS1022 覆盖 (二分图染色+匈牙利算法)
先对整幅图进行二分图染色,再跑一遍匈牙利算法. /* CODEVS1022 */ #include <cstdio> #include <cstring> #include & ...
- [kuangbin带你飞]专题五 并查集 A - Wireless Network
An earthquake takes place in Southeast Asia. The ACM (Asia Cooperated Medical team) have set up a wi ...
- Ubuntu 16.04安装VLC播放器,替代系统默认播放器
VLC播放器应该说是开源项目中最好的视频播放器,但功能不止于视频播放,还有视频直播等等.可以通过安装字幕插件搜索字母等. 安装步骤: 1.安装: sudo add-apt-repository ppa ...
- LVS 源代码分析
http://blog.chinaunix.net/uid/11207493.html http://zh.linuxvirtualserver.org/blog/3309
- 复习es6-let和const
1.声明变量的方法 es5 : var function es6 : var function let const class 2.let(const)与var 不同 let不能 ...
- oc 和swift混编的时候打包ipa安装不了
做了一个oc项目.里面实用到swift第三方,真机执行的时候是正常的,用企业级证书打包成ipa之后安装完毕之后闪退.通过导出手机log日志发现错误提示: Dyld Error Message: L ...