建立一个触发器,完成在删除仓库记录的同时,也删除相应的职工记录。
我写的是:CREATE TRIGGER w_del_trigger
                 ON 仓库 FOR DELETE
                 AS
                 DELETE 职工
                 WHERE 职工号 IN (SELECT 职工号 FROM deleted)
基于产品表(产品号,产品名,单价,库存量)建立一个存储过程,完成修改给定产品单价的功能。给定某个产品,如果该产品的库存量超过500,则单价降低5%,否则不降价。
我写的是:create procedure ch_price;1
                 (@wh_no char(4))
                 AS
                 UPDATE 产品
                 SET 单价=单价*0.95  WHERE 产品号=@wh_no
                 IF (SELECT * FROM 产品
                      WHERE 库存量>500)
                 RETURN 0
                 ELSE
                 RETURN -1我是初学者 希望得到一些帮助 谢谢

解决方案 »

  1.   

    create procedure ch_price;1
      (@wh_no char(4))
      AS
      begin
      UPDATE 产品
      SET 单价=单价*0.95 WHERE 产品号=@wh_no and 库存量>500
      end
      

  2.   

    create procedure ch_price
      (@wh_no char(4))
      AS
      begin
      UPDATE 产品
      SET 单价=单价*0.95 WHERE 产品号=@wh_no and 库存量>500
      end
      

  3.   


    if object_id('产品','U') is not null
       drop table 产品
    go
    create table 产品
    (
     产品号 char(4),
     名称 varchar(10),
     单价 numeric(18,2),
     库存量 int
    )
    go
    insert into 产品
    select '1','洗衣粉',1,600 union all
    select '2','衣服',2,490
    go
    if object_id('ch_price','P') is not null
       drop procedure ch_price
    go
    create procedure ch_price
    @wh_no char(4),
    @result int output --定义返回值
    as
      update 产品 set 单价=单价*0.95 where 产品号=@wh_no and 库存量>500
      if @@rowcount>0 
         set @result=0
      else
         set @result=-1
    go
    --调用存储过程
    declare @result int
    exec ch_price '1',@result output --获取返回值
    print @result
      

  4.   

    hehe,笑死我了! 这个垃圾题目谁出的?