存储过程的问题。

xmpp 2004-10-09 01:43:47
drop proc testsql;
create proc testsql(@aa varchar(10)) as
BEGIN

Declare @sql varchar(200)

SET @sql = 'select rpt_id from username'
EXEC @sql
END;

执行时报The name 'select rpt_id from username'is not a valid identifier错误。可是单独地执行select rpt_id from username是可以的。
...全文
72 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
yjf486 2004-10-10
  • 打赏
  • 举报
回复
drop proc testsql
go
create proc testsql(@aa varchar(10)) as
BEGIN

Declare @sql varchar(200)

exec('select rpt_id from username')

END;
titanium 2004-10-10
  • 打赏
  • 举报
回复
exec用法错误。
exec用于SP(存储过程)或者ESP(扩展存储过程)的执行,并且只有当SP不是位于被调用的批处理语句的第一个语句时,exec才是必需的。
你的存储过程只要改成
create proc testsql(@aa varchar(10)) as
BEGIN
select rpt_id from username
END
就行了,存储过程里能正常执行SQL语句。
另外,
你用SET是错误的,给变量赋值用select,不用set.

2,596

社区成员

发帖
与我相关
我的任务
社区描述
Sybase相关技术讨论区
社区管理员
  • Sybase社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧