示例-存储过程.sql

来自「用C语言如何编写多元线性回归」· SQL 代码 · 共 44 行

SQL
44
字号
CREATE TABLE 库存表
     (  产品号 char(6) PRIMARY KEY,
	产品名 char(10),
	库存数量 int
     )
CREATE TABLE 出库表
     (  产品号 char(6) REFERENCES 库存表(产品号),
	出库日期 smalldatetime,
	出库数量 int
     )
GO

INSERT INTO 库存表 VALUES('01','计算机',10)
INSERT INTO 库存表 VALUES('02','电视机',20)
INSERT INTO 库存表 VALUES('03','DVD',5)

GO

CREATE PROCEDURE Insert_出库表 @ID char(6), @dt smalldatetime, @num int
AS
     DECLARE @tmp int
     BEGIN TRAN
     INSERT INTO 出库表 VALUES(@ID,@dt,@num)
     SELECT @tmp = 库存数量 FROM 库存表 
          WHERE 产品号 = @ID
     IF @tmp - @num >= 0 
          BEGIN
              UPDATE 库存表 SET 库存数量 = 库存数量 - @num
	            WHERE 产品号 = @ID
              COMMIT TRAN
          END	
     ELSE BEGIN
          ROLLBACK TRAN
	  RETURN -100
          END
GO

DECLARE @tt int
exec @tt = Insert_出库表  @ID='02',@dt='2006-3-10', @num=15
select @tt

select * from 库存表
select * from 出库表

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?