首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

存储过程中如何使用字符串参数

2011-12-27 
存储过程中怎么使用字符串参数?我想用字符串传递表名:createproc[dbo].[DeleteMulti](@forumIDint,@tableN

存储过程中怎么使用字符串参数?
我想用字符串传递表名:

create   proc   [dbo].[DeleteMulti](@forumID   int,   @tableName   char(50))
AS
...

if   (Exists(Select   ID   from   @tableName   where   ParentID=@temp   and   ForumID=@forumID))
begin
select   @delID=ID   from   @tableName   Where   ParentID=@delID     and   ForumID=@forumID
set   @temp   =   @delID
end
...

为什么老说我没有声明@tableName变量呢?
@tableName不是传入的参数吗?


[解决办法]
不能这样做的.应该用动态sql
[解决办法]
不能这样做的.

应该用动态sql
对的 表明不能传 必须拼!
[解决办法]
Select ID from @tableName where ParentID=@temp and ForumID=@forumID

===============

FROM 字句中 表名 不支持使用参数
[解决办法]
可以传递字符串的,用string传递
把你的代码全部贴上吧
[解决办法]
CREATE PROCEDURE PROC_TEST (@TableName varchar(50)) AS exec( ' select Name from '+ @TableName + 'where ParentID <> 0 ') GO
[解决办法]
只能帮顶了!!

热点排行