Click here to Skip to main content
15,892,746 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
SQL
declare @value varchar(500)
declare @Whrcol varchar(500)
declare @Whrvalue varchar(500)
set @Whrcol='Product Cat3'
set @Whrvalue='IR DOME CAMERA'
set @value=('select [Table Name] from tblProductsCatalog where ['+ @Whrcol+ '] ='''+@Whrvalue+'''')
execute (@value)





I want to save the value return by Execute statement so that i can use in next statement
i.e.
execute('select * from '+@value+ ' where IsActive =1')
getting error....
How can i do it

im trying from several hours but not able to solve 
please help  
Posted

To get value, use this:

SQL
declare @value varchar(500)
declare @Whrvalue varchar(500)
set @Whrvalue='IR DOME CAMERA'

SELECT @value=[Table Name]
FROM tblProductsCatalog
WHERE [Product Cat3]= @Whrvalue
SELECT @value AS [Table Name]



[EDIT]
OK, if you want to build dynamic queries and get value returned by this query, see this:
http://stackoverflow.com/questions/803211/how-to-get-sp-executesql-result-into-a-variable[^]

[/EDIT]
 
Share this answer
 
v3
Comments
sanchu90 5-Mar-13 6:27am    
HEy I Want to pass column name thrugh parameter

im not able to it with your Query
Davidduraisamy 5-Mar-13 6:33am    
In select statement you have taken Table name.Take Column name.

declare @value varchar(500)
declare @Whrcol varchar(500)
declare @Whrvalue varchar(500)
set @Whrcol='Product Cat3'
set @Whrvalue='IR DOME CAMERA'
set @value=('select [Column Name] from tblProductsCatalog where ['+ @Whrcol+ '] ='''+@Whrvalue+'''')
execute (@value)
Maciej Los 5-Mar-13 7:40am    
See my updated solution ;)
sanchu90 5-Mar-13 6:40am    
[Table Name] is my column name for that table as that store tablenames of database
Hi

Try This....
SQL
declare @value varchar(500)
declare @Whrcol varchar(500)
declare @Whrvalue varchar(500)
declare @TableDtls TABLE(TableName VARCHAR(500))
set @Whrcol='Product Cat3'
set @Whrvalue='IR DOME CAMERA'
set @value=('select [Table Name] from tblProductsCatalog where ['+ @Whrcol+ '] ='''+@Whrvalue+'''')
INSERT INTO @TableDtls(TableName) 
execute (@value)
SELECT TableName FROM @TableDtls 

Regards,
GVPrabu
 
Share this answer
 
SQL
In select statement you have taken Table name.Take Column name.

declare @value varchar(500)
declare @Whrcol varchar(500)
declare @Whrvalue varchar(500)
set @Whrcol='Product Cat3'
set @Whrvalue='IR DOME CAMERA'
set @value=('select [Column Name] from tblProductsCatalog where ['+ @Whrcol+ '] ='''+@Whrvalue+'''')
execute (@value)
 
Share this answer
 
Have a look.
SQL
DECLARE @value VARCHAR(500)
DECLARE @Whrcol VARCHAR(500)
DECLARE @Whrvalue VARCHAR(500)
SET @Whrcol = 'Product Cat3'
SET @Whrvalue = 'IR DOME CAMERA'
SET @value = 'SELECT [Column Name] INTO TestTable 
					FROM tblProductsCatalog 
              WHERE [' + @Whrcol +'] =''' + @Whrvalue + ''''
    
--PRINT @value
EXECUTE (@value)

SELECT * FROM TestTable
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900