用储存过程创建的问题!!!昨天问过,但没有真正解决!!帮帮手!!

coolylh 2005-10-16 12:31:00
if not exists(select 1 from sysobjects where name='Base_ChangePS1' and objectproperty(id,'IsProcedure')=1)
CREATE PROCEDURE Base_ChangePS1
@UserName varchar(50),
@UserPassword binary(16)
AS
UPDATE Base_AccountIndex
SET UserPassword = @UserPassword
WHERE (UserName = @UserName)

当不成功!!!!!!错误提示!!
------------------------
服务器: 消息 156,级别 15,状态 1,行 2
在关键字 'PROCEDURE' 附近有语法错误。
服务器: 消息 137,级别 15,状态 1,行 7
必须声明变量 '@UserPassword'。
------------------------
想达到的效果:如果存储过程存在,就不执行创建,不然就执行创建。
帮帮手!!!该怎样写?????
...全文
49 点赞 收藏 3
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
coolylh 2005-10-16
wgsasd311(自强不息)

正确!!

原来就是差个exec('')!!!!
晕!!

给分!
回复
wgsasd311 2005-10-16
if not exists(select 1 from sysobjects where name='Base_ChangePS1' and objectproperty(id,'IsProcedure')=1)

exec('CREATE PROCEDURE Base_ChangePS1
@UserName varchar(50),
@UserPassword binary(16)
AS
UPDATE Base_AccountIndex
SET UserPassword = @UserPassword
WHERE (UserName = @UserName)')
回复
wgsasd311 2005-10-16
if exists(select 1 from sysobjects where name='Base_ChangePS1' and objectproperty(id,'IsProcedure')=1)
drop procedure Base_ChangePS1
go
CREATE PROCEDURE Base_ChangePS1
@UserName varchar(50),
@UserPassword binary(16)
AS
UPDATE Base_AccountIndex
SET UserPassword = @UserPassword
WHERE (UserName = @UserName)
go
回复
相关推荐
发帖
应用实例
创建于2007-09-28

2.7w+

社区成员

MS-SQL Server 应用实例
申请成为版主
帖子事件
创建了帖子
2005-10-16 12:31
社区公告
暂无公告