如果向存储过程,传送一sql语句要在存储过程中如何运行呢

fans88 2011-02-28 09:26:40
Sql = "Select * from a inner jon b on a.u=b.u"

ALTER PROCEDURE abc
@Sql nvarchar(max)
as
set nocount on
begin
return
end
...全文
62 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
hongmei85 2011-03-01
  • 打赏
  • 举报
回复
测试ok
alter PROCEDURE abc @Sql nvarchar(4000)
as
set nocount on
begin
EXEC(@Sql)
return
end
fans88 2011-03-01
  • 打赏
  • 举报
回复
If Exists(Select * From Ele_Document Where Document_ID=@Document_ID And SubTitle_ID<>@Subtitle_ID)
Set @Sq = 'Set Subtitle_ID=@Subtitle_ID'
If @Mark = 1
Begin
Set @Flag = 4
If @Sq <> ''
Set @Sq = @Sq + ',Mark=1'
Else
Set @Sq = 'Set Mark=1'
End
If @Sq <> ''
Begin
Set @Sq = 'Update Ele_Document ' + @Sq + ' Where Document_ID=@Document_ID'
exec @Sq
End



Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e14'

[Microsoft][ODBC SQL Server Driver][SQL Server]找不到存储过程 'Update Ele_Document Set Subtitle_ID=@Subtitle_ID Where Document_ID=@Document_ID'。

lzp4881 2011-03-01
  • 打赏
  • 举报
回复
http://hi.baidu.com/lz0830/blog/item/ac409b3e1874363b70cf6cb8.html
rings2000 2011-03-01
  • 打赏
  • 举报
回复
正解
[Quote=引用 5 楼 hongmei85 的回复:]
测试ok

SQL code
alter PROCEDURE abc @Sql nvarchar(4000)
as
set nocount on
begin
EXEC(@Sql)
return
end
[/Quote]
fans88 2011-02-28
  • 打赏
  • 举报
回复
会提示
找不到存储过程 'Select * from a inner jon b on a.u=b.u'

hongmei85 2011-02-28
  • 打赏
  • 举报
回复
ALTER PROCEDURE abc
@Sql nvarchar(max)
as
set nocount on
begin
EXEC @Sql
return
end

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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