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