1.存储过程写法
CREATE Proc P_存储过程
@A varchar(30),
@B varchar(1000),
@C varchar(1000),
@D varchar(1000),
@E varchar(100),
@F varchar(50),
@G varchar(2) ,
@H varchar(30),
@Y varchar(50) out
as
Declare @J int,--表示局部变量,定义变量,bai变量第一个du字母是“@”,声明时需要指定变量的dao类型。
@K varchar(50),
@M varchar(50),
@L varchar(12),
@N NVARCHAR(100),
@O varchar(30),
@P datetime,
@Q varchar(2),
@R varchar(20),
@S int,
@T VARCHAR(2)
SET @T= (SELECT T(*) FROM T_SINGLE_CHECKINFO WHERE SGLCHECKID=@A)
IF @T>0
--新增
IF @G='1'
BEGIN
select @J as A1,@K AS A2,@M as A3,@Q As A4,@L as A5,@O as A6,@P as A7,
@R as A8 from T_表名01 where ID=@A;
insert into T_表名01(字段1,字段2,字段3,字段4,字段5,字段6,字段7,字段8,字段9,字段10,字段11,字段12,
字段13,字段14,字段15 ,字段16,字段17,字段18,字段19,字段20,字段21,
字段22,字段23,字段24,字段25,字段26,字段27, 字段28)
values(@Y,@A,@K,'',@M,@Q,@J,@L,@O,@P,@R,@B,
@C,@E,@D,GETDATE(),@F,'1','4','4','5',@E,GETDATE(),@F,'1',NEWID(),'3',getdate())
END
--修改
IF @G='2'
BEGIN
update
T_表名02
SET
字段1 as @B,字段2=@C,字段3=@D,字段4=@E
WHERE 字段5=@A AND 字段6=@H
END
--删除
IF @G='3'
BEGIN
DELETE FROM T_表名02 WHERE 字段5=@A AND 字段6=@H
END
2.使用存储过程(执行)
输入参数
exec exec P_存储过程名字 @A='123',@B='321',@C='XXX',@..........
输出参数
--定义一个变量用来存储登录的返回结果
DECLARE @Str输出参数 INT
EXECUTE P_存储过程名字 @A='123',@B='321',@C='XXX',@.......,@count OUTPUT
--打印返回结果
PRINT @Str输出参数
3.删除存储过程
Drop procedure P_存储过程名字
Delete procedure P_存储过程名字
drop procedure if exists P_存储过程名字