2014-04-01 3 views
0
-- This query works using the split function 
SELECT AssignUserID,* FROM dbo.Task WHERE TaskID in (SELECT * FROM udf_Split ('1269469,1359508',',')) 


--this script using the @TasksToUpdate parameter does not work. 
--If I replace the parameter @TasksToUpdate with the string in the where clause then it does work 
DECLARE @NewUser varchar 
DECLARE @TasksToUpdate varchar 
DECLARE @UpdateUser VARCHAR(30) 

SET @NewUser = 'aaronteamlead' 
SET @TasksToUpdate = '1269469,1359508' 
SET @UpdateUser = 'updateusername' 

UPDATE dbo.Task 
SET AssignUserID = @NewUser,LastUpdatedDt=getdate(),[email protected] 
WHERE TaskID in (SELECT * FROM udf_Split (@TasksToUpdate,',')) 
+3

가 길이를 지정'@TasksToUpdate varchar' 선언. 길이를 지정하지 않으면 기본값은'VARCHAR (1)'입니다. – DMason

+0

유연성을 최대화하려면 varchar (max)를 사용하십시오. –

답변

0

DMason이 정확합니다.

는 "DECLARE의 @TasksToUpdate의 VARCHAR하는 길이를 지정한다. 더 길이가 지정되지 않은 경우, VARCHAR 디폴트 (1)."

관련 문제