zoukankan      html  css  js  c++  java
  • sql sever的sql语句有关存储过程与触发器

    1. 创建一个InsertS的存储过程,向S中插入一条记录,新记录的值由参数提供。如果未提供所在城市的值,由参数的默认值‘济南’代替。并验证该存储过程的执行情况。
      create procedure InsertS
      @Sno varchar(10),
      @sname varchar(20),
      @statu int,
      @City varchar(20)='济南'
      as insert into s
      values (@Sno,@sname,@statu,@City)
      Go
      
      declare @Sno varchar(10)
      declare @sname varchar(20)
      declare @statu int
      declare @City varchar(20)
      execute InsertS  's9','方向','60'
      go


      设置参数的默认值可以先在创建时设置一个值。

      1. 创建一个QuerySPJ的存储过程,根据用户提供的工程项目代码查询该工程项目的使用零件情况,并返回使用零件的总数量。
        create procedure QuerySPJ
        @Ja varchar(10),
        @zongde varchar(10) output
        as 
        select *
        from spj
        where jno=@Ja
        select @zongde= sum(qty) 
        from spj 
        where jno=@Ja
        Go
        
        declare @Ja varchar(10)
        declare @zongde varchar(10)
        execute QuerySPJ 'j3',@zongde output
        print @zongde

        创建一个触发器,使得在S表中删除某条记录时,SPJ表中的数据也进行相应的删除操作。

        create trigger deletespj on s
        after delete 
        as
        delete 
        from spj
        where sno=(select sno from  deleted)
        
        delete from s
        where sno='s2'

        创建一个供应历史表hspj(sno,pno,jno,qty,username,modifydate),记录供应变化情况。实现这样的约束控制:如果spj表中的某条供应记录的qty发生改变,就在hspj表中插入一行历史记录,其中username为操作的用户名,modifydate为操作的时间。

        create table hspj(
        sno varchar(10) ,
        pno varchar(10),
        jno varchar(10),
        username varchar(50),
        modifydate varchar(50)
        )
        create trigger bianhua on spj
        after insert,update
        as insert into hspj select sno, pno,jno ,system_user,getdate()from inserted


        updata操作也属于inserted如上图

  • 相关阅读:
    iptables 增删查改
    在Ubuntu14.04上安装WordPress4搭建技术博客
    Revit 二次开发之 零件
    Revit 二次开发之 结构层次
    revit二次开发之 过滤器二FilteredElementCollector收集器
    Revit二次开发之 动态模型更新(DMU: Dynamic Model Update)功能
    revit二次开发之 过滤器一
    Revit 二次开发之标高参数
    Revit二次开发之 错误
    Visual Studio删除所有的注释和空行
  • 原文地址:https://www.cnblogs.com/herefree/p/5525342.html
Copyright © 2011-2022 走看看