After some doing, I got the final result I was looking for.  Maybe you'll
find this interesting/useful:



DECLARE         @sql nvarchar(4000),
                @col sysname,
                @myTable varchar(10),
                @userid varchar(20),
                @GUserID varchar(20)
                SELECT @myTable = '13065'
                SELECT @GUserName = 'Smith'
                SELECT @col = 'my_' + @mytable + '_User'
                SELECT @sql = N'SELECT @UserID = convert(varchar(20),
UserID) FROM ' + @col +
                 N' WHERE UserLName = convert(varchar(20), @GUserName )'
                EXEC sp_executesql @sql, N'@userid varchar(20) OUTPUT,
@GUserName varchar(20)', @userid OUTPUT, @GUserName

                PRINT @userID

The value printed is the actual UserID primary key from the dynamic table. 

-----Original Message-----
From: [email protected] [mailto:[EMAIL PROTECTED] On
Behalf Of Keith Levenson
Sent: Friday, March 11, 2005 10:07 AM
To: SQL
Subject: RE: Assigning variable with dynamic query

Thanks, Ray.  I had tried previously, but get no results when I know I
should.  The varaible assignment is always NULL:

DECLARE @userID as nvarchar(10),
@myTable as nvarchar(10),
@strUser as nvarchar(100)
SET @myTable = 16707
SET @strUser = N'SELECT ' + @UserID + ' = UserID from my_' + @myTable +
'_User where UserLName = ''Smith'''
EXEC sp_executesql
@statement = @strUser
IF ISNULL(@UserId,0) = 0
        PRINT 'Hi Kids' 

-----Original Message-----
From: [email protected] [mailto:[EMAIL PROTECTED] On
Behalf Of Ray Thompson
Sent: Friday, March 11, 2005 9:50 AM
To: SQL
Subject: RE: Assigning variable with dynamic query

Try this. Notice the added single quotes.

Ray Thompson
Tau Beta Pi (www.tbp.org)
The Engineering Honor Society
865-546-4578
-----Original Message-----
From: Keith Levenson [mailto:[EMAIL PROTECTED]
Sent: Friday, March 11, 2005 12:27 PM
To: SQL
Subject: Assigning variable with dynamic query

I can execute a dynamic SQL with the following, but the variable assignment
in the string isn't being assigned:  

        DECLARE @userID as nvarchar(10),
        @myTable as nvarchar(10),
        @strUser as nvarchar(100)
        SET @myTable = 10659
        SET @strUser = N'SELECT ' + @UserID + ' = UserID from my_' +
@myTable + '_user where UserLName = ''Smith'''
        EXEC sp_executesql
        @statement = @strUser

I get this error:  Must declare the variable '@UserID', which is
understandable I guess.  

Does anybody have any ideas for what I am trying to do?

Thanks!

/Keith








~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Find out how CFTicket can increase your company's customer support 
efficiency by 100%
http://www.houseoffusion.com/banners/view.cfm?bannerid=49

Message: http://www.houseoffusion.com/lists.cfm/link=i:6:2205
Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/6
Subscription: http://www.houseoffusion.com/lists.cfm/link=s:6
Unsubscribe: 
http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.6
Donations & Support: http://www.houseoffusion.com/tiny.cfm/54

Reply via email to