存储过程:就像函数一样的
会保存在数据库中--》可编程性--》存储过程

创建存储过程: 保存在数据库表,可编程性,存储过程
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 Server数据库(SQL Sever语言 存储过程及触发器)的更多相关文章

  1. SQL Server CLR 使用 C# 自定义存储过程和触发器

    资源来源:https://www.cnblogs.com/Brambling/p/8016060.html SQL Server CLR 使用 C# 自定义存储过程和触发器   这一篇博客接着上一篇博 ...

  2. Sql Server 数据库表结构,存储过程,视图比较脚本

    顶级干货 用来比较两个数据库之间 表结构,存储过程及视图差异的存储过程,直接复制对应的存储过程,无需改动,直接在数据库中执行(传递要比较的数据库参数)即可 1.两个数据库之间存储过程及视图差异比较的存 ...

  3. SQL Sever语言 存储过程及触发器

    存储过程:就像函数一样的会保存在数据库中-->可编程性-->存储过程 创建存储过程: 保存在数据库表,可编程性,存储过程create proc jiafa --需要的参数@a int,@b ...

  4. SQL Server数据库sql语句生成器(SqlDataToScript)的使用(sql server自增列(id)插入固定值)

    SqlDataToScript是根据表数据进行生成 Insert Into语句,此工具还有一个好处是可以对自增列插入固定值,例如:自增的列id值为5,但是5这个行值已经删除,如果想存储Id自增列值为5 ...

  5. 编写Java程序,使用JDBC连接SQL Server数据库

    返回本章节 返回作业目录 需求说明: 使用JDBC连接SQL Server数据库 SQL Server数据库位于192.168.2.101. 所需连接的数据库为eshop_db,用户名为test,密码 ...

  6. 在易语言中调用MS SQL SERVER数据库存储过程方法总结

    Microsoft SQL SERVER 数据库存储过程,根据其输入输出数据,笼统的可以分为以下几种情况或其组合:无输入,有一个或多个输入参数,无输出,直接返回(return)一个值,通过output ...

  7. Sql Server数据库之存储过程

    阅读目录 一:存储过程概述 二:存储过程分类 三:创建存储过程 1.创建无参存储过程 2.修改存储过程 3.删除存储过程 4.重命名存储过程 5.创建带参数的存储过程   简单来说,存储过程就是一条或 ...

  8. 基于Spring Boot,使用JPA调用Sql Server数据库的存储过程并返回记录集合

    在上一篇<基于Spring Boot,使用JPA操作Sql Server数据库完成CRUD>中完成了使用JPA对实体数据的CRUD操作. 那么,有些情况,会把一些查询语句写在存储过程中,由 ...

  9. SQL Server数据库存储过程中拼接字符串注意的问题

    在SQL Server数据库中书写复杂的存储过程时,一般的做法是拼接字符串,最后使用EXEC sp_executesql '拼接的字符串' 查询出结果. 先看一段代码: -- ============ ...

随机推荐

  1. weblogic解密工具

    import org.bouncycastle.jce.provider.BouncyCastleProvider; import sun.misc.BASE64Decoder; import jav ...

  2. CUBRID学习笔记 36 在net中添加多行记录

    using System.Data.Common; using CUBRID.Data.CUBRIDClient; namespace Sample { class Add_MultipleRows ...

  3. uva 10065 (凸包+求面积)

    链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&am ...

  4. POJ 3461 Oulipo(乌力波)

    POJ 3461 Oulipo(乌力波) Time Limit: 1000MS   Memory Limit: 65536K [Description] [题目描述] The French autho ...

  5. Android——例子:简单计算器

    今天没事干,做了个单击事件的练习. 截图如下:(一个小小的计算器) XMl文件中的代码: <LinearLayout xmlns:android="http://schemas.and ...

  6. Android——android相对布局(RelativeLayout)及属性

    RelativeLayout布局 android:layout_marginTop="25dip" //顶部距离 android:gravity="left" ...

  7. 把多个JavaScript函数绑定到onload事件处理函数上

    为了让函数只在页面加载完毕后才得到执行,我们会把函数绑定到onload事件上: window.onload = userFunction 但如果有两个函数:firstFunction() 和 seco ...

  8. DataTable字符串类型的数字,按照数字类型排序

    protected void Page_Load(object sender, EventArgs e)     {         DataTable dt = new DataTable();   ...

  9. Log4j XML 配置

    Xml代码 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE log4j:configurat ...

  10. iOS - Photo Album 图片/相册管理

    前言 NS_CLASS_AVAILABLE_IOS(2_0) @interface UIImagePickerController : UINavigationController <NSCod ...