希望能知道存储过程中SQL语句执行失败

lityuo 2003-08-22 01:55:37
现有一存储过程:
CREATE PROCEDURE test AS
exec('select * remote.db.dbo.table')
if @@error=0
return 100
else
return 200
return 0
若该表不存在,希望能执行 return 200
但在查询分析器中
运行该过程
declare @output int
exec @output=test
print @output

结果是:Server: Msg 7314, Level 16, State 1, Line 1
OLE DB provider 'SQLOLEDB' does not contain table '"remote"."dbo"."table"'

不能返回 200吗?
...全文
30 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjcxc 2003-08-22
  • 打赏
  • 举报
回复
调用:
exec test '要测试的表'
zjcxc 2003-08-22
  • 打赏
  • 举报
回复
CREATE PROCEDURE test
@tbname varchar(250)
AS
if exists(select 1 from syscolumns where object_id(@tbname)=id)
print 100
else
print 200
go
pengdali 2003-08-22
  • 打赏
  • 举报
回复
exec('select * remote.db.dbo.table')
if @@error=0
print 100
else
print 200


服务器: 消息 170,级别 15,状态 1,行 1
第 1 行: 'remote' 附近有语法错误。
200
lityuo 2003-08-22
  • 打赏
  • 举报
回复
但是remote以后要以变量传入的
这个该怎么解决阿
急!!!
愉快的登山者 2003-08-22
  • 打赏
  • 举报
回复
CREATE PROCEDURE test AS
if exists (select * from remote.db.dbo.table)
return 100
else
return 200
return 0


愉快的登山者


◢◣◢◣◢◣
愉快的登山者 2003-08-22
  • 打赏
  • 举报
回复
CREATE PROCEDURE test AS
if exists (select * from remote.db.dbo.table)
return 100
else
return 200
return 0


愉快的登山者


◢◣◢◣◢◣

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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