当前位置: 代码迷 >> Sql Server >> 同样的语句,为啥T-SQL语句能执行而存储过程不能执行?解决方案
  详细解决方案

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

热度:52   发布时间:2016-04-27 15:06:13.0
同样的语句,为啥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 [email protected],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([email protected]+') ')GO
  相关解决方案