sql怎样新建存储过程

sql怎样新建存储过程,第1张

一:创建没有参数的存储过程:

CREATE PROCEDURE  select_all

AS

BEGIN

SELECT * from T_login1

END

GO

二:创建带参数的存储过程:

CREATE PROCEDURE select_name

@id uniqueidentifier

AS

BEGIN

SELECT * from T_login1 where PSN0001A=@id

END

GO

扩展资料

创建存储过程的注意事项:

1、保持事务简短,事务越短,越不可能造成阻塞。

2、在事务中尽量避免使用循环while和游标,以及避免采用访问大量行的语句。

3、在启动事务前完成所有的计算和查询等 *** 作,避免同一事务中交错读取和更新。可以使用表变量预先存储数据。即存储过程中查询与更新使用两个事务实现。

4、超时会让事务不执行回滚,超时后如果客户端关闭连接sqlserver自动回滚事务。如果不关闭,将造成数据丢失,而其他事务将在这个未关闭的连接上执行,造成资源锁定,甚至服务器停止响应。

CREATE proc ProcBlacker_ADD --定义存储过程

@UserID int, --用户输入的参数1

@strName varchar(20), --用户输入的参数2

@strMobile varchar(20), --用户输入的参数3

@strRemark nvarchar(200) --用户输入的参数4,最后一个不需要加,

as

declare @ID int --定义变量

declare @Account varchar(50) --同上

declare @Content varchar(50) --同上

if not exists(select * from tblBlackList(nolock) --如果不存在则执行下面的语句.

where fdcMobile=@strMobile)

begin

insert into tblBlackList(fdcMobile,fdcName,fdtTm,fdcMemo)

values(@strMobile,@strName,getdate(),@strRemark) --getdate()获取当前系统的时间

set @ID=@@identity--返回一行记录

select @Account=Account from dbo.UserInfo where UserID=@UserID

set @Content='添加黑名单('+' *** 作者:'+@Account+','+'用户名:'+@strName+'手机:'+@strMobile+'备注:'+@strRemark+')'--设置变量的值

exec ProcRecordLog @Account,'添加',@Content ---执行储过程ProcRecordLog

return @ID

end

GO

这个存储后面调用了ProcRecordLog存储过程


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11642280.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-17
下一篇2023-05-17

发表评论

登录后才能评论

评论列表(0条)

    保存