Please start any new threads on our new
site at https://forums.sqlteam.com. We've got lots of great SQL Server
experts to answer whatever question you can come up with.
| Author |
Topic |
|
john20
Starting Member
30 Posts |
Posted - 2008-09-17 : 10:33:16
|
| Hi All,I am trying to execute the procedure in query analyzer but it is giving me error message, can you please tell me where i am doing wrong.prodcedure is :CREATE PROC [User].[kuafGroupID]( @Root nvarchar(25),@TableName nvarchar(25), @UserID smallint output) ASBEGIN SET NOCOUNT ON DECLARE @DataID int, @iDataID int SET @iDataID = (SELECT distinct childID FROM kuafchildren WHERE Childid = @Root) SET @DataID = (SELECT MIN(ID) FROM kuafchildren WHERE ChildID = @Root) Exec('insert into ' + @TableName + '(DataID) values(' + @iDataID + ')') select @UserID = 1 WHILE @DataID IS NOT NULL BEGIN EXEC GetDataID @DataID,@TableName,@UserID SET @DataID = (SELECT MIN(ID) FROM kuafchildren WHERE ChildID = @Root AND ID > @DataID) ENDENDand i am executing like :DECLARE @NewId smallintExec kuafGroupID 3053,groupid,@NewId outputError is :Msg 102, Level 15, State 1, Line 1Incorrect syntax near ')'.can you please help.Thanks in advance-john |
|
|
afrika
Master Smack Fu Yak Hacker
2706 Posts |
Posted - 2008-09-17 : 10:51:01
|
| changeCREATE PROC [User].[kuafGroupID]to CREATE PROC [dbo].[kuafGroupID]or when you try to execute it useexecute [user].[kuafGroupID]But use the above example. Much better |
 |
|
|
GilaMonster
Master Smack Fu Yak Hacker
4507 Posts |
Posted - 2008-09-17 : 12:12:01
|
| Try changing proc as follows (I've only included the part that I changed)BEGINSET NOCOUNT ONDECLARE @DataID int, @iDataID int = 0, @sSQL NVARCHAR(1000)SET @iDataID = (SELECT distinct childID FROM kuafchildren WHERE Childid = @Root)SET @DataID = (SELECT MIN(ID) FROM kuafchildren WHERE ChildID = @Root)SET @sSQL = 'insert into ' + @TableName + '(DataID) values(' + CAST(@iDataID AS VARCHAR(10)) + ')'Exec(@sSQL)--Gail ShawSQL Server MVP |
 |
|
|
|
|
|
|
|