Run Query from a Column Value

  • Follow


Hi

Let if I have a tb1 with col1 

CREATE TABLE tbl1 
  ( 
     Col1 VARCHAR(500) 
  ) 


INSERT INTO tbl1 VALUES('SELECT * FROM tbl1') 
INSERT INTO tbl1 VALUES('SELECT Query FROM tbl1')

In col1 I have inseted a query as a string. How can I run the query stored 
in col1.

Regards,
Muhammad Bilal

0
Reply Utf 4/30/2010 10:34:01 PM

You have to use dynamic SQL:
http://www.sommarskog.se/dynamic_sql.html

-- 
Plamen Ratchev
http://www.SQLStudio.com
0
Reply Plamen 4/30/2010 11:07:58 PM


On Fri, 30 Apr 2010 15:34:01 -0700, Muhammad Bilal
<MuhammadBilal@discussions.microsoft.com> wrote:

>Hi
>
>Let if I have a tb1 with col1 
>
>CREATE TABLE tbl1 
>  ( 
>     Col1 VARCHAR(500) 
>  ) 
>
>
>INSERT INTO tbl1 VALUES('SELECT * FROM tbl1') 
>INSERT INTO tbl1 VALUES('SELECT Query FROM tbl1')
>
>In col1 I have inseted a query as a string. How can I run the query stored 
>in col1.
>
>Regards,
>Muhammad Bilal

Hi Muhammad

You could do something like:

DECLARE @qry varchar(500)

DECLARE qry_crs CURSOR FOR 
SELECT Col1 FROM tbl1

OPEN qry_crs

FETCH NEXT FROM qry_crs INTO @qry 

WHILE @@FETCH_STATUS = 0
BEGIN
	EXEC ( @qry )
	FETCH NEXT FROM qry_crs INTO @qry 
END 
CLOSE qry_crs 
DEALLOCATE qry_crs 

You should also read http://www.sommarskog.se/dynamic_sql.html

John
0
Reply John 5/1/2010 8:44:10 AM

2 Replies
205 Views

(page loaded in 0.072 seconds)


Reply: