首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

同样的语句,为啥T-SQL语句能执行而存储过程不能执行?解决方案

2012-04-02 
同样的语句,为啥T-SQL语句能执行而存储过程不能执行?我在查询分析器里输入如下语句一:INSERT INTO ASELECT

同样的语句,为啥T-SQL语句能执行而存储过程不能执行?
我在查询分析器里输入如下语句一:
INSERT INTO A
SELECT groupID=3,B.userID FROM B WHERE userID in('user03','user04','user05')
可以添加三行新的数据。

我再建立一个存储过程:
CREATE PROCEDURE [Test_BuildAfterDelete] 
@GroupID BIGINT,
@UserIDs NVARCHAR(2000)
AS
INSERT INTO 
A
SELECT groupID=@GroupID,B.userID FROM B WHERE userID in(@UserIDs)
GO

在查询分析器里运行此存储过程,得到:“(所影响的行数为 0 行)”。
请问怎样才能在存储过程里实现语句一的效果?

[解决办法]

SQL code
CREATE     PROCEDURE   [Test_BuildAfterDelete]   @GroupID   BIGINT, @UserIDs   NVARCHAR(2000) AS exec('INSERT   INTO   A SELECT   groupID='+rtrim(@GroupID)+',B.userID   FROM   B   WHERE   userID   in('+@UserIDs+') ')GO 

热点排行