<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://msmvps.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Abu's blog  : SQL Generator</title><link>http://msmvps.com/blogs/abu/archive/tags/SQL+Generator/default.aspx</link><description>Tags: SQL Generator</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><item><title>T-SQL : Auto generating data retrieval SP</title><link>http://msmvps.com/blogs/abu/archive/2008/08/27/t-sql-auto-generating-data-retrieval-sp.aspx</link><pubDate>Wed, 27 Aug 2008 17:52:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1646002</guid><dc:creator>abu</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/abu/rsscomments.aspx?PostID=1646002</wfw:commentRss><comments>http://msmvps.com/blogs/abu/archive/2008/08/27/t-sql-auto-generating-data-retrieval-sp.aspx#comments</comments><description>&lt;p&gt;Auto generating data retrieval SP will be done by just a second...&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;set ANSI_NULLS ON&lt;/p&gt;
&lt;p&gt;set QUOTED_IDENTIFIER ON&lt;/p&gt;
&lt;p&gt;go&lt;/p&gt;
&lt;p&gt;CREATE procedure [dbo].[SelectSP] &lt;/p&gt;
&lt;p&gt;( @tablename varchar(100))&lt;/p&gt;
&lt;p&gt;as&lt;/p&gt;
&lt;p&gt;declare @cname varchar(100),&lt;/p&gt;
&lt;p&gt;@strAllColumns varchar(5000)&lt;/p&gt;
&lt;p&gt;declare crsColumn cursor for&lt;/p&gt;
&lt;p&gt;select name from syscolumns where id=object_id(@tablename)&lt;/p&gt;
&lt;p&gt;----------------------------------------------------------------------&lt;/p&gt;
&lt;p&gt;begin&lt;/p&gt;
&lt;p&gt;----------------------------------------------------------------------&lt;/p&gt;
&lt;p&gt;---------------------------------------- Header Information ----------&lt;/p&gt;
&lt;p&gt;print &amp;#39;/*&lt;/p&gt;
&lt;p&gt;Procedure Name : usp&amp;#39; + replace(@tablename,&amp;#39;tbl&amp;#39;,&amp;#39;&amp;#39;) + &amp;#39;InsertUpdate&lt;/p&gt;
&lt;p&gt;Version : 1.0&lt;/p&gt;
&lt;p&gt;Dated : &amp;#39; + convert(varchar(12),getdate(),107) + &amp;#39;&lt;/p&gt;
&lt;p&gt;Purpose : For retrieving data from &amp;#39; + @tablename +&amp;#39;&lt;/p&gt;
&lt;p&gt;Tables Accessed : &amp;#39; + @tablename + &amp;#39;&lt;/p&gt;
&lt;p&gt;*/&amp;#39;&lt;/p&gt;
&lt;p&gt;print &amp;#39;CREATE PROCEDURE uspGet&amp;#39; + replace(@tablename,&amp;#39;tbl&amp;#39;,&amp;#39;&amp;#39;) &lt;/p&gt;
&lt;p&gt;OPEN crsColumn&lt;/p&gt;
&lt;p&gt;FETCH NEXT FROM crsColumn INTO @cname&lt;/p&gt;
&lt;p&gt;select @strAllColumns = &amp;#39;&amp;#39;&lt;/p&gt;
&lt;p&gt;WHILE @@FETCH_STATUS = 0&lt;/p&gt;
&lt;p&gt;BEGIN&lt;/p&gt;
&lt;p&gt;select @strAllColumns = @strAllColumns + &amp;#39;[&amp;#39; + @cname + &amp;#39;],&amp;#39;&lt;/p&gt;
&lt;p&gt;FETCH NEXT FROM crsColumn INTO @cname&lt;/p&gt;
&lt;p&gt;END&lt;/p&gt;
&lt;p&gt;CLOSE crsColumn&lt;/p&gt;
&lt;p&gt;DEALLOCATE crsColumn&lt;/p&gt;
&lt;p&gt;----------------------------------------------------------------------------&lt;/p&gt;
&lt;p&gt;print &amp;#39;AS&lt;/p&gt;
&lt;p&gt;BEGIN&lt;/p&gt;
&lt;p&gt;BEGIN&amp;#39;&lt;/p&gt;
&lt;p&gt;print &amp;#39; SELECT &amp;#39; +left(@strAllColumns ,len(@strAllColumns)-1)+ &amp;#39;&lt;/p&gt;
&lt;p&gt;FROM [&amp;#39; + @tablename +&amp;#39;]&amp;#39;&lt;/p&gt;
&lt;p&gt;print &amp;#39; END&lt;/p&gt;
&lt;p&gt;IF @@ERROR &amp;lt;&amp;gt; 0&lt;/p&gt;
&lt;p&gt;BEGIN&lt;/p&gt;
&lt;p&gt;RETURN -1 &lt;/p&gt;
&lt;p&gt;END&lt;/p&gt;
&lt;p&gt;ELSE&lt;/p&gt;
&lt;p&gt;BEGIN&lt;/p&gt;
&lt;p&gt;RETURN 0&lt;/p&gt;
&lt;p&gt;END&lt;/p&gt;
&lt;p&gt;END&amp;#39;&lt;/p&gt;
&lt;p&gt;end&lt;/p&gt;
&lt;p&gt;To test by executing the below statement in NorthWind database data retrieval SP will be ready.&lt;/p&gt;
&lt;p&gt;SelectSP Customers&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;/*&lt;/p&gt;
&lt;p&gt;Procedure Name : uspCustomersInsertUpdate&lt;/p&gt;
&lt;p&gt;Version : 1.0&lt;/p&gt;
&lt;p&gt;Dated : Aug 27, 2008&lt;/p&gt;
&lt;p&gt;Purpose : For retrieving data from Customers&lt;/p&gt;
&lt;p&gt;Tables Accessed : Customers&lt;/p&gt;
&lt;p&gt;*/&lt;/p&gt;
&lt;p&gt;CREATE PROCEDURE uspGetCustomers&lt;/p&gt;
&lt;p&gt;AS&lt;/p&gt;
&lt;p&gt;BEGIN&lt;/p&gt;
&lt;p&gt;BEGIN&lt;/p&gt;
&lt;p&gt;SELECT [CustomerID],[CompanyName],[ContactName],[ContactTitle],[Address],[City],[Region],[PostalCode],[Country],[Phone],[Fax]&lt;/p&gt;
&lt;p&gt;FROM [Customers]&lt;/p&gt;
&lt;p&gt;END&lt;/p&gt;
&lt;p&gt;IF @@ERROR &amp;lt;&amp;gt; 0&lt;/p&gt;
&lt;p&gt;BEGIN&lt;/p&gt;
&lt;p&gt;RETURN -1 &lt;/p&gt;
&lt;p&gt;END&lt;/p&gt;
&lt;p&gt;ELSE&lt;/p&gt;
&lt;p&gt;BEGIN&lt;/p&gt;
&lt;p&gt;RETURN 0&lt;/p&gt;
&lt;p&gt;END&lt;/p&gt;
&lt;p&gt;END&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1646002" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/abu/archive/tags/SQL+Generator/default.aspx">SQL Generator</category></item><item><title>Generating Auto generated SELECT SQL from Oracle Database </title><link>http://msmvps.com/blogs/abu/archive/2008/08/27/generating-auto-generated-select-sql-from-oracle-database.aspx</link><pubDate>Wed, 27 Aug 2008 12:03:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1646003</guid><dc:creator>abu</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/abu/rsscomments.aspx?PostID=1646003</wfw:commentRss><comments>http://msmvps.com/blogs/abu/archive/2008/08/27/generating-auto-generated-select-sql-from-oracle-database.aspx#comments</comments><description>&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;set pagesize 2000&lt;/p&gt;
&lt;p&gt;set linesize 2000&lt;/p&gt;
&lt;p&gt;set long 4000&lt;/p&gt;
&lt;p&gt;--create table gensql(line number(4) not null primary key,txt varchar2(4000))&lt;/p&gt;
&lt;p&gt;delete gensql&lt;/p&gt;
&lt;p&gt;/&lt;/p&gt;
&lt;p&gt;commit&lt;/p&gt;
&lt;p&gt;/&lt;/p&gt;
&lt;p&gt;declare&lt;/p&gt;
&lt;p&gt;cursor cl&lt;/p&gt;
&lt;p&gt;is&lt;/p&gt;
&lt;p&gt;select &amp;#39;CREATE TABLE &amp;#39;||TABLE_NAME||&amp;#39; ( &amp;#39; tbl,&lt;/p&gt;
&lt;p&gt;column_name clmn,&lt;/p&gt;
&lt;p&gt;SUBSTR(decode(data_type,&amp;#39;VARCHAR2&amp;#39;,&amp;#39;VARCHAR2(&amp;#39;||TO_CHAR(DATA_LENGTH)||&amp;#39;)&amp;#39;,&lt;/p&gt;
&lt;p&gt;&amp;#39;CHAR&amp;#39;,&amp;#39;CHAR(&amp;#39;||TO_CHAR(DATA_LENGTH)||&amp;#39;)&amp;#39;,&lt;/p&gt;
&lt;p&gt;&amp;#39;NUMBER&amp;#39;, DECODE(DATA_PRECISION, NULL, &amp;#39;NUMBER&amp;#39;,&lt;/p&gt;
&lt;p&gt;&amp;#39;NUMBER(&amp;#39;||TO_CHAR(DATA_PRECISION)||&amp;#39;,&amp;#39;||TO_CHAR(DATA_SCALE)||&amp;#39;)&amp;#39;),&lt;/p&gt;
&lt;p&gt;&amp;#39;DATE&amp;#39;,&amp;#39;DATE&amp;#39;),1,14) data_type,&lt;/p&gt;
&lt;p&gt;decode(nullable, &amp;#39;N&amp;#39;, &amp;#39;Not Null&amp;#39;, null) null_stat&lt;/p&gt;
&lt;p&gt;from cols&lt;/p&gt;
&lt;p&gt;where table_name not in (select tname from tab where tabtype=&amp;#39;VIEW&amp;#39;);&lt;/p&gt;
&lt;p&gt;flag number(1) :=0;&lt;/p&gt;
&lt;p&gt;lineno number(4) :=0;&lt;/p&gt;
&lt;p&gt;tbl varchar2(100);&lt;/p&gt;
&lt;p&gt;clmn varchar2(100);&lt;/p&gt;
&lt;p&gt;data_type varchar2(30);&lt;/p&gt;
&lt;p&gt;null_stat varchar2(15);&lt;/p&gt;
&lt;p&gt;lstcol varchar2(100);&lt;/p&gt;
&lt;p&gt;begin&lt;/p&gt;
&lt;p&gt;for c in cl loop&lt;/p&gt;
&lt;p&gt;tbl:=c.tbl;&lt;/p&gt;
&lt;p&gt;clmn:=c.clmn;&lt;/p&gt;
&lt;p&gt;data_type := c.data_type;&lt;/p&gt;
&lt;p&gt;null_stat := c.null_stat;&lt;/p&gt;
&lt;p&gt;if flag = 0 then&lt;/p&gt;
&lt;p&gt;-- dbms_output.put_line(tbl);&lt;/p&gt;
&lt;p&gt;lineno:=lineno+1;&lt;/p&gt;
&lt;p&gt;insert into gensql(line,txt) values(lineno,tbl);&lt;/p&gt;
&lt;p&gt;flag:=1;&lt;/p&gt;
&lt;p&gt;end if; &lt;/p&gt;
&lt;p&gt;if lstcol &amp;lt;&amp;gt; tbl then&lt;/p&gt;
&lt;p&gt;-- dbms_output.put_line(&amp;#39;);&amp;#39;);&lt;/p&gt;
&lt;p&gt;lineno:=lineno+1;&lt;/p&gt;
&lt;p&gt;insert into gensql(line,txt) values(lineno,&amp;#39;);&amp;#39;);&lt;/p&gt;
&lt;p&gt;-- dbms_output.put_line(tbl);&lt;/p&gt;
&lt;p&gt;lineno:=lineno+1;&lt;/p&gt;
&lt;p&gt;insert into gensql(line,txt) values(lineno,tbl);&lt;/p&gt;
&lt;p&gt;-- dbms_output.put_line(&amp;#39; &amp;#39;||clmn||&amp;#39; &amp;#39;||data_type||&amp;#39; &amp;#39;||null_stat);&lt;/p&gt;
&lt;p&gt;lineno:=lineno+1;&lt;/p&gt;
&lt;p&gt;insert into gensql(line,txt) values(lineno,&amp;#39; &amp;#39;||clmn||&amp;#39; &amp;#39;||data_type||&amp;#39; &amp;#39;||null_stat);&lt;/p&gt;
&lt;p&gt;else&lt;/p&gt;
&lt;p&gt;-- dbms_output.put_line(&amp;#39; &amp;#39;||clmn||&amp;#39; &amp;#39;||data_type||&amp;#39; &amp;#39;||null_stat);&lt;/p&gt;
&lt;p&gt;lineno:=lineno+1;&lt;/p&gt;
&lt;p&gt;insert into gensql(line,txt) values(lineno,&amp;#39;, &amp;#39;||clmn||&amp;#39; &amp;#39;||data_type||&amp;#39; &amp;#39;||null_stat);&lt;/p&gt;
&lt;p&gt;end if;&lt;/p&gt;
&lt;p&gt;lstcol:=tbl;&lt;/p&gt;
&lt;p&gt;end loop;&lt;/p&gt;
&lt;p&gt;lineno:=lineno+1;&lt;/p&gt;
&lt;p&gt;insert into gensql(line,txt) values(lineno,&amp;#39;);&amp;#39;);&lt;/p&gt;
&lt;p&gt;end;&lt;/p&gt;
&lt;p&gt;/&lt;/p&gt;
&lt;p&gt;declare&lt;/p&gt;
&lt;p&gt;flag number(2) := 0;&lt;/p&gt;
&lt;p&gt;tname varchar2(100); cname varchar2(100);&lt;/p&gt;
&lt;p&gt;tbl varchar2(100); con varchar2(100); str varchar2(2000);&lt;/p&gt;
&lt;p&gt;lineno number(4);&lt;/p&gt;
&lt;p&gt;cursor cmain is&lt;/p&gt;
&lt;p&gt;select TABLE_NAME,CONSTRAINT_NAME&lt;/p&gt;
&lt;p&gt;from user_constraints&lt;/p&gt;
&lt;p&gt;where CONSTRAINT_TYPE=&amp;#39;P&amp;#39;;&lt;/p&gt;
&lt;p&gt;cursor cdetail(k varchar2) is&lt;/p&gt;
&lt;p&gt;select TABLE_NAME,column_name from user_cons_columns where CONSTRAINT_NAME=k;&lt;/p&gt;
&lt;p&gt;begin&lt;/p&gt;
&lt;p&gt;begin&lt;/p&gt;
&lt;p&gt;select nvl(max(line),0) into lineno from gensql;&lt;/p&gt;
&lt;p&gt;exception&lt;/p&gt;
&lt;p&gt;when no_data_found then null;&lt;/p&gt;
&lt;p&gt;end;&lt;/p&gt;
&lt;p&gt;for cm in cmain loop&lt;/p&gt;
&lt;p&gt;tbl:=cm.TABLE_NAME; con:=cm.CONSTRAINT_NAME;&lt;/p&gt;
&lt;p&gt;str:=&amp;#39;alter table &amp;#39;|| tbl ||&amp;#39; add constraints &amp;#39;||con||&amp;#39; primary key (&amp;#39;;&lt;/p&gt;
&lt;p&gt;open cdetail(con);&lt;/p&gt;
&lt;p&gt;fetch cdetail into tname,cname;&lt;/p&gt;
&lt;p&gt;loop&lt;/p&gt;
&lt;p&gt;exit when cdetail%NOTFOUND;&lt;/p&gt;
&lt;p&gt;if flag = 0 then&lt;/p&gt;
&lt;p&gt;str:=str||cname;&lt;/p&gt;
&lt;p&gt;flag:=1;&lt;/p&gt;
&lt;p&gt;else&lt;/p&gt;
&lt;p&gt;str:=str||&amp;#39;,&amp;#39;||cname;&lt;/p&gt;
&lt;p&gt;end if;&lt;/p&gt;
&lt;p&gt;fetch cdetail into tname,cname;&lt;/p&gt;
&lt;p&gt;end loop;&lt;/p&gt;
&lt;p&gt;str:=str||&amp;#39;) ;&amp;#39;;&lt;/p&gt;
&lt;p&gt;flag:=0;&lt;/p&gt;
&lt;p&gt;close cdetail;&lt;/p&gt;
&lt;p&gt;-- dbms_output.put_line(str);&lt;/p&gt;
&lt;p&gt;lineno:=lineno+1;&lt;/p&gt;
&lt;p&gt;insert into gensql(line,txt) values(lineno,str); &lt;/p&gt;
&lt;p&gt;end loop;&lt;/p&gt;
&lt;p&gt;end;&lt;/p&gt;
&lt;p&gt;/&lt;/p&gt;
&lt;p&gt;declare&lt;/p&gt;
&lt;p&gt;flag number(2) := 0;&lt;/p&gt;
&lt;p&gt;tname varchar2(100); cname varchar2(100);&lt;/p&gt;
&lt;p&gt;tbl varchar2(100); con varchar2(100); rcon varchar2(100); str varchar2(2000);&lt;/p&gt;
&lt;p&gt;lineno number(4);&lt;/p&gt;
&lt;p&gt;cursor cmain is&lt;/p&gt;
&lt;p&gt;select TABLE_NAME,R_CONSTRAINT_NAME,CONSTRAINT_NAME&lt;/p&gt;
&lt;p&gt;from user_constraints&lt;/p&gt;
&lt;p&gt;where R_CONSTRAINT_NAME is not null;&lt;/p&gt;
&lt;p&gt;cursor cdetail(k varchar2) is&lt;/p&gt;
&lt;p&gt;select TABLE_NAME,column_name from user_cons_columns where CONSTRAINT_NAME=k;&lt;/p&gt;
&lt;p&gt;begin&lt;/p&gt;
&lt;p&gt;begin&lt;/p&gt;
&lt;p&gt;select nvl(max(line),0) into lineno from gensql;&lt;/p&gt;
&lt;p&gt;exception&lt;/p&gt;
&lt;p&gt;when no_data_found then null;&lt;/p&gt;
&lt;p&gt;end;&lt;/p&gt;
&lt;p&gt;for cm in cmain loop&lt;/p&gt;
&lt;p&gt;tbl:=cm.TABLE_NAME; con:=cm.CONSTRAINT_NAME; rcon:=cm.R_CONSTRAINT_NAME;&lt;/p&gt;
&lt;p&gt;str:=&amp;#39;alter table &amp;#39;|| tbl ||&amp;#39; add constraints &amp;#39;||con||&amp;#39; foreign key (&amp;#39;;&lt;/p&gt;
&lt;p&gt;open cdetail(con);&lt;/p&gt;
&lt;p&gt;fetch cdetail into tname,cname;&lt;/p&gt;
&lt;p&gt;loop&lt;/p&gt;
&lt;p&gt;exit when cdetail%NOTFOUND;&lt;/p&gt;
&lt;p&gt;if flag = 0 then&lt;/p&gt;
&lt;p&gt;str:=str||cname;&lt;/p&gt;
&lt;p&gt;flag:=1;&lt;/p&gt;
&lt;p&gt;else&lt;/p&gt;
&lt;p&gt;str:=str||&amp;#39;,&amp;#39;||cname;&lt;/p&gt;
&lt;p&gt;end if;&lt;/p&gt;
&lt;p&gt;fetch cdetail into tname,cname;&lt;/p&gt;
&lt;p&gt;end loop;&lt;/p&gt;
&lt;p&gt;str:=str||&amp;#39;) &amp;#39;;&lt;/p&gt;
&lt;p&gt;flag:=0;&lt;/p&gt;
&lt;p&gt;close cdetail;&lt;/p&gt;
&lt;p&gt;open cdetail(rcon);&lt;/p&gt;
&lt;p&gt;fetch cdetail into tname,cname;&lt;/p&gt;
&lt;p&gt;loop&lt;/p&gt;
&lt;p&gt;exit when cdetail%NOTFOUND;&lt;/p&gt;
&lt;p&gt;if flag = 0 then&lt;/p&gt;
&lt;p&gt;str:=str||&amp;#39; references &amp;#39;|| tname || &amp;#39; (&amp;#39;;&lt;/p&gt;
&lt;p&gt;str:=str||cname;&lt;/p&gt;
&lt;p&gt;flag:=1;&lt;/p&gt;
&lt;p&gt;else&lt;/p&gt;
&lt;p&gt;str:=str||&amp;#39;,&amp;#39;||cname;&lt;/p&gt;
&lt;p&gt;end if;&lt;/p&gt;
&lt;p&gt;fetch cdetail into tname,cname;&lt;/p&gt;
&lt;p&gt;end loop;&lt;/p&gt;
&lt;p&gt;str:=str||&amp;#39;) ;&amp;#39;;&lt;/p&gt;
&lt;p&gt;flag:=0;&lt;/p&gt;
&lt;p&gt;close cdetail;&lt;/p&gt;
&lt;p&gt;-- dbms_output.put_line(str);&lt;/p&gt;
&lt;p&gt;lineno:=lineno+1;&lt;/p&gt;
&lt;p&gt;insert into gensql(line,txt) values(lineno,str); &lt;/p&gt;
&lt;p&gt;end loop;&lt;/p&gt;
&lt;p&gt;end;&lt;/p&gt;
&lt;p&gt;/&lt;/p&gt;
&lt;p&gt;declare&lt;/p&gt;
&lt;p&gt;tname varchar2(100); ttype varchar2(100);&lt;/p&gt;
&lt;p&gt;txt varchar2(2000);&lt;/p&gt;
&lt;p&gt;lineno number(4);&lt;/p&gt;
&lt;p&gt;cursor cmain is&lt;/p&gt;
&lt;p&gt;select distinct NAME,TYPE&lt;/p&gt;
&lt;p&gt;from user_source;&lt;/p&gt;
&lt;p&gt;cursor cdetail(k varchar2) is&lt;/p&gt;
&lt;p&gt;select text from user_source where NAME=k order by line;&lt;/p&gt;
&lt;p&gt;begin&lt;/p&gt;
&lt;p&gt;begin&lt;/p&gt;
&lt;p&gt;select nvl(max(line),0) into lineno from gensql;&lt;/p&gt;
&lt;p&gt;exception&lt;/p&gt;
&lt;p&gt;when no_data_found then null;&lt;/p&gt;
&lt;p&gt;end;&lt;/p&gt;
&lt;p&gt;for cm in cmain loop&lt;/p&gt;
&lt;p&gt;tname:=cm.NAME; ttype:=cm.type;&lt;/p&gt;
&lt;p&gt;txt:=&amp;#39;create or replace &amp;#39;||ttype||&amp;#39; &amp;#39;||tname|| &amp;#39; is &amp;#39;;&lt;/p&gt;
&lt;p&gt;lineno:=lineno+1;&lt;/p&gt;
&lt;p&gt;insert into gensql(line,txt) values(lineno,txt); &lt;/p&gt;
&lt;p&gt;open cdetail(tname);&lt;/p&gt;
&lt;p&gt;fetch cdetail into txt;&lt;/p&gt;
&lt;p&gt;loop&lt;/p&gt;
&lt;p&gt;exit when cdetail%NOTFOUND;&lt;/p&gt;
&lt;p&gt;lineno:=lineno+1;&lt;/p&gt;
&lt;p&gt;insert into gensql(line,txt) values(lineno,txt); &lt;/p&gt;
&lt;p&gt;fetch cdetail into txt;&lt;/p&gt;
&lt;p&gt;end loop;&lt;/p&gt;
&lt;p&gt;close cdetail;&lt;/p&gt;
&lt;p&gt;end loop;&lt;/p&gt;
&lt;p&gt;end;&lt;/p&gt;
&lt;p&gt;/&lt;/p&gt;
&lt;p&gt;spool c:\tables.txt&lt;/p&gt;
&lt;p&gt;select txt from gensql order by line&lt;/p&gt;
&lt;p&gt;/&lt;/p&gt;
&lt;p&gt;select &amp;#39;create or replace view &amp;#39;||view_name||&amp;#39; as &amp;#39;,text from user_views&lt;/p&gt;
&lt;p&gt;/&lt;/p&gt;
&lt;p&gt;select &amp;#39;CREATE OR REPLACE TRIGGER &amp;#39;||TRIGGER_NAME||&lt;/p&gt;
&lt;p&gt;decode(instr(trigger_type,&amp;#39;BEFORE&amp;#39;),1,&amp;#39; BEFORE &amp;#39;)||&lt;/p&gt;
&lt;p&gt;decode(instr(trigger_type,&amp;#39;AFTER&amp;#39;),1,&amp;#39; AFTER &amp;#39;)&lt;/p&gt;
&lt;p&gt;||TRIGGERING_EVENT|| &amp;#39; ON &amp;#39; ||TABLE_NAME||&amp;#39; &amp;#39;&lt;/p&gt;
&lt;p&gt;|| REFERENCING_NAMES || &amp;#39; &amp;#39;||&lt;/p&gt;
&lt;p&gt;decode(instr(trigger_type,&amp;#39;EACH ROW&amp;#39;),7,&amp;#39; FOR EACH ROW&amp;#39;,8,&amp;#39; FOR EACH ROW&amp;#39;)&lt;/p&gt;
&lt;p&gt;|| &amp;#39; &amp;#39;||&lt;/p&gt;
&lt;p&gt;DECODE(NVL(WHEN_CLAUSE,&amp;#39;X&amp;#39;),&amp;#39;X&amp;#39;,&amp;#39;&amp;#39;,&amp;#39; WHEN &amp;#39;||WHEN_CLAUSE) trigger_head&lt;/p&gt;
&lt;p&gt;,Trigger_body&lt;/p&gt;
&lt;p&gt;from user_triggers&lt;/p&gt;
&lt;p&gt;/&lt;/p&gt;
&lt;p&gt;spool off&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1646003" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/abu/archive/tags/SQL+Generator/default.aspx">SQL Generator</category></item><item><title>Auto generated stored procedure by SP [T-SQL]</title><link>http://msmvps.com/blogs/abu/archive/2008/08/27/auto-generated-stored-procedure-by-sp-t-sql.aspx</link><pubDate>Wed, 27 Aug 2008 05:18:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1646000</guid><dc:creator>abu</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/abu/rsscomments.aspx?PostID=1646000</wfw:commentRss><comments>http://msmvps.com/blogs/abu/archive/2008/08/27/auto-generated-stored-procedure-by-sp-t-sql.aspx#comments</comments><description>&lt;p&gt;&lt;span style="font-size:x-small;"&gt;
&lt;p&gt;In a project if we have 50 tables, and average 10-15 columns then to write stored procedure for insert and update we have to take average 30 minutes each,&amp;nbsp; then more than 25 hours will be required for only data insert/update operaion. This will be very difficult job... typing table name, column name we will do mistake which cost our development time. Always I prefer to generate code by code itself.&lt;/p&gt;
&lt;p&gt;Here the InsertUpdateSP will do the job for us. As an example I have created one table called &amp;quot;Member&amp;quot; and follwed by this table uspMemberInsertUpdate&lt;/p&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;set ANSI_NULLS ON&lt;/p&gt;
&lt;p&gt;set QUOTED_IDENTIFIER ON&lt;/p&gt;
&lt;p&gt;go&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;-- InsertUpdateSP Member&lt;/p&gt;
&lt;p&gt;create procedure [dbo].[InsertUpdateSP] &lt;/p&gt;
&lt;p&gt;( @tablename varchar(100))&lt;/p&gt;
&lt;p&gt;as&lt;/p&gt;
&lt;p&gt;declare @cname varchar(100),@First int, @strAllColumns varchar(5000),@strAllColumnsVal varchar(5000),&lt;/p&gt;
&lt;p&gt;@strParam varchar(5000), @strAllParams varchar(1000), @length int&lt;/p&gt;
&lt;p&gt;declare @sqlUpdate varchar(4000), @sqlWhere varchar(4000)&lt;/p&gt;
&lt;p&gt;declare @keyColumn int&lt;/p&gt;
&lt;p&gt;declare @PKColumnName varchar(255)&lt;/p&gt;
&lt;p&gt;declare @IDentityColumnName varchar(255)&lt;/p&gt;
&lt;p&gt;declare @totalcolumn int&lt;/p&gt;
&lt;p&gt;declare @ColCount int&lt;/p&gt;
&lt;p&gt;declare crsColumn cursor for&lt;/p&gt;
&lt;p&gt;select name from syscolumns where id=object_id(@tablename)&lt;/p&gt;
&lt;p&gt;and status&amp;lt;&amp;gt;128&lt;/p&gt;
&lt;p&gt;declare crsParam cursor for&lt;/p&gt;
&lt;p&gt;select (select max(name) from systypes where xtype=sc.xtype and name&amp;lt;&amp;gt;&amp;#39;sysname&amp;#39;) param,&lt;/p&gt;
&lt;p&gt;length, name&lt;/p&gt;
&lt;p&gt;from syscolumns sc where id= ( select id from sysobjects where name=@tablename)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;DECLARE obj_cursor_pk CURSOR FOR &lt;/p&gt;
&lt;p&gt;SELECT syscolumns.name + &amp;#39; = @&amp;#39; + syscolumns.name&lt;/p&gt;
&lt;p&gt;FROM sysindexes, syscolumns, sysindexkeys&lt;/p&gt;
&lt;p&gt;WHERE syscolumns.colid = sysindexkeys.colid&lt;/p&gt;
&lt;p&gt;and syscolumns.id = sysindexes.id&lt;/p&gt;
&lt;p&gt;and sysindexkeys.id = sysindexes.id&lt;/p&gt;
&lt;p&gt;and syscolumns.id=object_id(@tablename)&lt;/p&gt;
&lt;p&gt;and sysindexes.indid = 1 and sysindexkeys.indid=1&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;SELECT @keyColumn=Count(*)&lt;/p&gt;
&lt;p&gt;FROM sysindexes, syscolumns, sysindexkeys&lt;/p&gt;
&lt;p&gt;WHERE syscolumns.colid = sysindexkeys.colid&lt;/p&gt;
&lt;p&gt;and syscolumns.id = sysindexes.id&lt;/p&gt;
&lt;p&gt;and sysindexkeys.id = sysindexes.id&lt;/p&gt;
&lt;p&gt;and syscolumns.id=object_id(@tablename)&lt;/p&gt;
&lt;p&gt;and sysindexes.indid = 1 and sysindexkeys.indid=1&lt;/p&gt;
&lt;p&gt;select @IDentityColumnName=name&lt;/p&gt;
&lt;p&gt;from syscolumns &lt;/p&gt;
&lt;p&gt;where object_id(@tablename)=id and status=128&lt;/p&gt;
&lt;p&gt;select @totalcolumn=count(*)&lt;/p&gt;
&lt;p&gt;from syscolumns &lt;/p&gt;
&lt;p&gt;where object_id(@tablename)=id &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;----------------------------------------------------------------------&lt;/p&gt;
&lt;p&gt;begin&lt;/p&gt;
&lt;p&gt;----------------------------------------------------------------------&lt;/p&gt;
&lt;p&gt;---------------------------------------- Header Information ----------&lt;/p&gt;
&lt;p&gt;select @first=1&lt;/p&gt;
&lt;p&gt;set @colCount=0&lt;/p&gt;
&lt;p&gt;SELECT @sqlUpdate = &amp;#39; UPDATE [&amp;#39; + @tablename + &amp;#39;] SET &amp;#39;&lt;/p&gt;
&lt;p&gt;print &amp;#39;/*&lt;/p&gt;
&lt;p&gt;Procedure Name : usp&amp;#39; + replace(@tablename,&amp;#39;tbl&amp;#39;,&amp;#39;&amp;#39;) + &amp;#39;InsertUpdate&lt;/p&gt;
&lt;p&gt;Version : 1.0&lt;/p&gt;
&lt;p&gt;Dated : &amp;#39; + convert(varchar(12),getdate(),107) + &amp;#39;&lt;/p&gt;
&lt;p&gt;Purpose : For insert / update for data into &amp;#39; + @tablename +&amp;#39;&lt;/p&gt;
&lt;p&gt;Tables Accessed : &amp;#39; + @tablename + &amp;#39;&lt;/p&gt;
&lt;p&gt;*/&amp;#39;&lt;/p&gt;
&lt;p&gt;print &amp;#39;CREATE PROCEDURE usp&amp;#39; + replace(@tablename,&amp;#39;tbl&amp;#39;,&amp;#39;&amp;#39;) + &amp;#39;InsertUpdate&lt;/p&gt;
&lt;p&gt;(&amp;#39; &lt;/p&gt;
&lt;p&gt;--------------------------------------------------------------------------&lt;/p&gt;
&lt;p&gt;---------------------------------------- Parameter List Information ------&lt;/p&gt;
&lt;p&gt;OPEN crsParam&lt;/p&gt;
&lt;p&gt;select @First = 1&lt;/p&gt;
&lt;p&gt;FETCH NEXT FROM crsParam INTO @strParam, @length, @cname&lt;/p&gt;
&lt;p&gt;WHILE @@FETCH_STATUS = 0&lt;/p&gt;
&lt;p&gt;BEGIN&lt;/p&gt;
&lt;p&gt;set @colCount = @colCount+1&lt;/p&gt;
&lt;p&gt;If (@strParam = &amp;#39;VARCHAR&amp;#39;) OR (@strParam = &amp;#39;NCHAR&amp;#39;) OR (@strParam = &amp;#39;CHAR&amp;#39;) OR (@strParam = &amp;#39;NVARCHAR&amp;#39;)&lt;/p&gt;
&lt;p&gt;if @totalcolumn &amp;lt;&amp;gt; @colCount&lt;/p&gt;
&lt;p&gt;if @length = -1&lt;/p&gt;
&lt;p&gt;print &amp;#39; @&amp;#39; + @cname + &amp;#39; varchar(max),&amp;#39;&lt;/p&gt;
&lt;p&gt;else&lt;/p&gt;
&lt;p&gt;print &amp;#39; @&amp;#39; + @cname + &amp;#39; &amp;#39; + @strParam + &amp;#39; (&amp;#39; + ltrim(rtrim(str(@length))) + &amp;#39;),&amp;#39;&lt;/p&gt;
&lt;p&gt;else&lt;/p&gt;
&lt;p&gt;if @length = -1&lt;/p&gt;
&lt;p&gt;print &amp;#39; @&amp;#39; + @cname + &amp;#39; varchar(max),&amp;#39;&lt;/p&gt;
&lt;p&gt;else&lt;/p&gt;
&lt;p&gt;print &amp;#39; @&amp;#39; + @cname + &amp;#39; &amp;#39; + @strParam + &amp;#39; (&amp;#39; + ltrim(rtrim(str(@length))) + &amp;#39;)&amp;#39;&lt;/p&gt;
&lt;p&gt;Else&lt;/p&gt;
&lt;p&gt;begin&lt;/p&gt;
&lt;p&gt;if @totalcolumn = @colCount&lt;/p&gt;
&lt;p&gt;begin&lt;/p&gt;
&lt;p&gt;if @IDentityColumnName = @cname&lt;/p&gt;
&lt;p&gt;print &amp;#39; @&amp;#39; + @cname + &amp;#39; &amp;#39; + @strParam + &amp;#39; OUT&amp;#39;&lt;/p&gt;
&lt;p&gt;else&lt;/p&gt;
&lt;p&gt;print &amp;#39; @&amp;#39; + @cname + &amp;#39; &amp;#39; + @strParam + &amp;#39;&amp;#39;&lt;/p&gt;
&lt;p&gt;end&lt;/p&gt;
&lt;p&gt;else&lt;/p&gt;
&lt;p&gt;begin&lt;/p&gt;
&lt;p&gt;if @IDentityColumnName = @cname&lt;/p&gt;
&lt;p&gt;print &amp;#39; @&amp;#39; + @cname + &amp;#39; &amp;#39; + @strParam + &amp;#39; OUT,&amp;#39;&lt;/p&gt;
&lt;p&gt;else&lt;/p&gt;
&lt;p&gt;print &amp;#39; @&amp;#39; + @cname + &amp;#39; &amp;#39; + @strParam + &amp;#39;,&amp;#39;&lt;/p&gt;
&lt;p&gt;end&lt;/p&gt;
&lt;p&gt;end&lt;/p&gt;
&lt;p&gt;if @IDentityColumnName &amp;lt;&amp;gt; @cname&lt;/p&gt;
&lt;p&gt;set @sqlUpdate = @sqlUpdate + &amp;#39; [&amp;#39; + @cname + &amp;#39;] = @&amp;#39; + @cname +&amp;#39;,&amp;#39;&lt;/p&gt;
&lt;p&gt;FETCH NEXT FROM crsParam INTO @strParam, @length, @cname&lt;/p&gt;
&lt;p&gt;END&lt;/p&gt;
&lt;p&gt;CLOSE crsParam&lt;/p&gt;
&lt;p&gt;DEALLOCATE crsParam&lt;/p&gt;
&lt;p&gt;----------------------------------------------------------------------------&lt;/p&gt;
&lt;p&gt;OPEN crsColumn&lt;/p&gt;
&lt;p&gt;FETCH NEXT FROM crsColumn INTO @cname&lt;/p&gt;
&lt;p&gt;select @strAllColumns = &amp;#39;&amp;#39;&lt;/p&gt;
&lt;p&gt;select @strAllColumnsVal = &amp;#39;&amp;#39;&lt;/p&gt;
&lt;p&gt;WHILE @@FETCH_STATUS = 0&lt;/p&gt;
&lt;p&gt;BEGIN&lt;/p&gt;
&lt;p&gt;select @strAllColumns = @strAllColumns + &amp;#39;[&amp;#39; + @cname + &amp;#39;],&amp;#39;&lt;/p&gt;
&lt;p&gt;select @strAllColumnsVal = @strAllColumnsVal + &amp;#39;@&amp;#39; + @cname + &amp;#39;,&amp;#39;&lt;/p&gt;
&lt;p&gt;FETCH NEXT FROM crsColumn INTO @cname&lt;/p&gt;
&lt;p&gt;END&lt;/p&gt;
&lt;p&gt;CLOSE crsColumn&lt;/p&gt;
&lt;p&gt;DEALLOCATE crsColumn&lt;/p&gt;
&lt;p&gt;set @first = 1 &lt;/p&gt;
&lt;p&gt;set @sqlWhere = &amp;#39; WHERE &amp;#39;&lt;/p&gt;
&lt;p&gt;OPEN obj_cursor_pk&lt;/p&gt;
&lt;p&gt;FETCH NEXT FROM obj_cursor_pk INTO @cname&lt;/p&gt;
&lt;p&gt;WHILE @@FETCH_STATUS = 0&lt;/p&gt;
&lt;p&gt;BEGIN&lt;/p&gt;
&lt;p&gt;if @first = 1&lt;/p&gt;
&lt;p&gt;begin&lt;/p&gt;
&lt;p&gt;set @first = 0 &lt;/p&gt;
&lt;p&gt;end&lt;/p&gt;
&lt;p&gt;else&lt;/p&gt;
&lt;p&gt;begin&lt;/p&gt;
&lt;p&gt;set @sqlWhere = @sqlWhere + &amp;#39;, &amp;#39; &lt;/p&gt;
&lt;p&gt;end&lt;/p&gt;
&lt;p&gt;set @sqlWhere = @sqlWhere + &amp;#39; &amp;#39; + @cname&lt;/p&gt;
&lt;p&gt;FETCH NEXT FROM obj_cursor_pk INTO @cname&lt;/p&gt;
&lt;p&gt;END&lt;/p&gt;
&lt;p&gt;CLOSE obj_cursor_pk&lt;/p&gt;
&lt;p&gt;DEALLOCATE obj_cursor_pk&lt;/p&gt;
&lt;p&gt;----------------------------------------------------------------------------&lt;/p&gt;
&lt;p&gt;print &amp;#39;)&lt;/p&gt;
&lt;p&gt;AS&lt;/p&gt;
&lt;p&gt;BEGIN TRAN&lt;/p&gt;
&lt;p&gt;BEGIN&amp;#39;&lt;/p&gt;
&lt;p&gt;IF @keyColumn = 1&lt;/p&gt;
&lt;p&gt;BEGIN&lt;/p&gt;
&lt;p&gt;SELECT @PKColumnName=syscolumns.name &lt;/p&gt;
&lt;p&gt;FROM sysindexes, syscolumns, sysindexkeys&lt;/p&gt;
&lt;p&gt;WHERE syscolumns.colid = sysindexkeys.colid&lt;/p&gt;
&lt;p&gt;and syscolumns.id = sysindexes.id&lt;/p&gt;
&lt;p&gt;and sysindexkeys.id = sysindexes.id&lt;/p&gt;
&lt;p&gt;and syscolumns.id=object_id(@tablename)&lt;/p&gt;
&lt;p&gt;and sysindexes.indid = 1 and sysindexkeys.indid=1&lt;/p&gt;
&lt;p&gt;print &amp;#39; IF @&amp;#39;+@PKColumnName+&amp;#39;&amp;gt;0&lt;/p&gt;
&lt;p&gt;BEGIN&amp;#39;&lt;/p&gt;
&lt;p&gt;if len(@sqlUpdate)&amp;gt;1&lt;/p&gt;
&lt;p&gt;select @sqlUpdate = left(@sqlUpdate,len(@sqlUpdate)-1)&lt;/p&gt;
&lt;p&gt;print @sqlUpdate&lt;/p&gt;
&lt;p&gt;print @sqlWhere&lt;/p&gt;
&lt;p&gt;end&lt;/p&gt;
&lt;p&gt;print &amp;#39; END&lt;/p&gt;
&lt;p&gt;ELSE&amp;#39;&lt;/p&gt;
&lt;p&gt;END&lt;/p&gt;
&lt;p&gt;print &amp;#39; BEGIN&lt;/p&gt;
&lt;p&gt;INSERT INTO [&amp;#39; + @tablename +&amp;#39;] (&amp;#39; +left(@strAllColumns ,len(@strAllColumns)-1)+ &amp;#39;) &amp;#39;&lt;/p&gt;
&lt;p&gt;print &amp;#39; VALUES (&amp;#39; +left(@strAllColumnsVal,len(@strAllColumnsval)-1)+ &amp;#39;)&lt;/p&gt;
&lt;p&gt;END&lt;/p&gt;
&lt;p&gt;IF @@ERROR &amp;lt;&amp;gt; 0&lt;/p&gt;
&lt;p&gt;BEGIN&amp;#39;&lt;/p&gt;
&lt;p&gt;IF @IDentityColumnName is not null &lt;/p&gt;
&lt;p&gt;print &amp;#39; SET @&amp;#39;+@IDentityColumnName+&amp;#39;=-1&amp;#39;&lt;/p&gt;
&lt;p&gt;print &amp;#39; ROLLBACK TRAN&lt;/p&gt;
&lt;p&gt;END&lt;/p&gt;
&lt;p&gt;ELSE&lt;/p&gt;
&lt;p&gt;BEGIN&amp;#39;&lt;/p&gt;
&lt;p&gt;IF @IDentityColumnName is not null &lt;/p&gt;
&lt;p&gt;print &amp;#39; SET @&amp;#39;+@IDentityColumnName+&amp;#39;=@@Identity&amp;#39;&lt;/p&gt;
&lt;p&gt;print &amp;#39; COMMIT TRAN&lt;/p&gt;
&lt;p&gt;END&lt;/p&gt;
&lt;p&gt;END&amp;#39;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;GO&lt;/p&gt;
&lt;p&gt;SET ANSI_NULLS ON&lt;/p&gt;
&lt;p&gt;GO&lt;/p&gt;
&lt;p&gt;SET QUOTED_IDENTIFIER ON&lt;/p&gt;
&lt;p&gt;GO&lt;/p&gt;
&lt;p&gt;SET ANSI_PADDING ON&lt;/p&gt;
&lt;p&gt;GO&lt;/p&gt;
&lt;p&gt;CREATE TABLE [dbo].[Member](&lt;/p&gt;
&lt;p&gt;[MemberId] [int] IDENTITY(1,1) NOT NULL,&lt;/p&gt;
&lt;p&gt;[UserId] [varchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,&lt;/p&gt;
&lt;p&gt;[Password] [varchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,&lt;/p&gt;
&lt;p&gt;[EmailId] [varchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,&lt;/p&gt;
&lt;p&gt;[Prefix] [varchar](10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,&lt;/p&gt;
&lt;p&gt;[FirstName] [varchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,&lt;/p&gt;
&lt;p&gt;[LastName] [varchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,&lt;/p&gt;
&lt;p&gt;[Street] [varchar](500) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,&lt;/p&gt;
&lt;p&gt;[City] [varchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,&lt;/p&gt;
&lt;p&gt;[Pin] [varchar](10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,&lt;/p&gt;
&lt;p&gt;[State] [varchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,&lt;/p&gt;
&lt;p&gt;[Country] [char](2) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,&lt;/p&gt;
&lt;p&gt;[TelRes] [varchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,&lt;/p&gt;
&lt;p&gt;[TelOff] [varchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,&lt;/p&gt;
&lt;p&gt;[DoB] [smalldatetime] NULL,&lt;/p&gt;
&lt;p&gt;[Gender] [nvarchar](1) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,&lt;/p&gt;
&lt;p&gt;[MaritalStatus] [char](10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,&lt;/p&gt;
&lt;p&gt;[Education] [varchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,&lt;/p&gt;
&lt;p&gt;[Profession] [varchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,&lt;/p&gt;
&lt;p&gt;[Designation] [varchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,&lt;/p&gt;
&lt;p&gt;[Company] [varchar](100) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,&lt;/p&gt;
&lt;p&gt;[Industry] [varchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,&lt;/p&gt;
&lt;p&gt;[Image] [smallint] NULL,&lt;/p&gt;
&lt;p&gt;[ProfileVisibility] [smallint] NULL,&lt;/p&gt;
&lt;p&gt;[Aauthorized] [smallint] NULL,&lt;/p&gt;
&lt;p&gt;[Biodata] [varchar](max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,&lt;/p&gt;
&lt;p&gt;[JoiningDate] [smalldatetime] NULL,&lt;/p&gt;
&lt;p&gt;[LastModifiedDate] [smalldatetime] NULL,&lt;/p&gt;
&lt;p&gt;[MemberRole] [tinyint] NULL CONSTRAINT [DF_Member_MemberRole] DEFAULT ((1)),&lt;/p&gt;
&lt;p&gt;CONSTRAINT [PK_Member] PRIMARY KEY CLUSTERED &lt;/p&gt;
&lt;p&gt;(&lt;/p&gt;
&lt;p&gt;[MemberId] ASC&lt;/p&gt;
&lt;p&gt;)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]&lt;/p&gt;
&lt;p&gt;) ON [PRIMARY]&lt;/p&gt;
&lt;p&gt;GO&lt;/p&gt;
&lt;p&gt;SET ANSI_PADDING OFF&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;/*&lt;/p&gt;
&lt;p&gt;Procedure Name : uspMemberInsertUpdate&lt;/p&gt;
&lt;p&gt;Version : 1.0&lt;/p&gt;
&lt;p&gt;Dated : Aug 27, 2008&lt;/p&gt;
&lt;p&gt;Purpose : For insert / update for data into Member&lt;/p&gt;
&lt;p&gt;Tables Accessed : Member&lt;/p&gt;
&lt;p&gt;*/&lt;/p&gt;
&lt;p&gt;CREATE PROCEDURE uspMemberInsertUpdate&lt;/p&gt;
&lt;p&gt;(&lt;/p&gt;
&lt;p&gt;@MemberId int OUT,&lt;/p&gt;
&lt;p&gt;@UserId varchar (50),&lt;/p&gt;
&lt;p&gt;@Password varchar (50),&lt;/p&gt;
&lt;p&gt;@EmailId varchar (50),&lt;/p&gt;
&lt;p&gt;@Prefix varchar (10),&lt;/p&gt;
&lt;p&gt;@FirstName varchar (50),&lt;/p&gt;
&lt;p&gt;@LastName varchar (50),&lt;/p&gt;
&lt;p&gt;@Street varchar (500),&lt;/p&gt;
&lt;p&gt;@City varchar (50),&lt;/p&gt;
&lt;p&gt;@Pin varchar (10),&lt;/p&gt;
&lt;p&gt;@State varchar (50),&lt;/p&gt;
&lt;p&gt;@Country char (2),&lt;/p&gt;
&lt;p&gt;@TelRes varchar (50),&lt;/p&gt;
&lt;p&gt;@TelOff varchar (50),&lt;/p&gt;
&lt;p&gt;@DoB smalldatetime,&lt;/p&gt;
&lt;p&gt;@Gender nvarchar (2),&lt;/p&gt;
&lt;p&gt;@MaritalStatus char (10),&lt;/p&gt;
&lt;p&gt;@Education varchar (50),&lt;/p&gt;
&lt;p&gt;@Profession varchar (50),&lt;/p&gt;
&lt;p&gt;@Designation varchar (50),&lt;/p&gt;
&lt;p&gt;@Company varchar (100),&lt;/p&gt;
&lt;p&gt;@Industry varchar (50),&lt;/p&gt;
&lt;p&gt;@Image smallint,&lt;/p&gt;
&lt;p&gt;@ProfileVisibility smallint,&lt;/p&gt;
&lt;p&gt;@Aauthorized smallint,&lt;/p&gt;
&lt;p&gt;@Biodata varchar(max),&lt;/p&gt;
&lt;p&gt;@JoiningDate smalldatetime,&lt;/p&gt;
&lt;p&gt;@LastModifiedDate smalldatetime,&lt;/p&gt;
&lt;p&gt;@MemberRole tinyint&lt;/p&gt;
&lt;p&gt;)&lt;/p&gt;
&lt;p&gt;AS&lt;/p&gt;
&lt;p&gt;BEGIN TRAN&lt;/p&gt;
&lt;p&gt;BEGIN&lt;/p&gt;
&lt;p&gt;IF @MemberId&amp;gt;0&lt;/p&gt;
&lt;p&gt;BEGIN&lt;/p&gt;
&lt;p&gt;UPDATE [Member] SET [UserId] = @UserId, [Password] = @Password, [EmailId] = @EmailId, [Prefix] = @Prefix, [FirstName] = @FirstName, [LastName] = @LastName, [Street] = @Street, [City] = @City, [Pin] = @Pin, [State] = @State, [Country] = @Country, [TelRes] = @TelRes, [TelOff] = @TelOff, [DoB] = @DoB, [Gender] = @Gender, [MaritalStatus] = @MaritalStatus, [Education] = @Education, [Profession] = @Profession, [Designation] = @Designation, [Company] = @Company, [Industry] = @Industry, [Image] = @Image, [ProfileVisibility] = @ProfileVisibility, [Aauthorized] = @Aauthorized, [Biodata] = @Biodata, [JoiningDate] = @JoiningDate, [LastModifiedDate] = @LastModifiedDate, [MemberRole] = @MemberRole&lt;/p&gt;
&lt;p&gt;WHERE MemberId = @MemberId&lt;/p&gt;
&lt;p&gt;END&lt;/p&gt;
&lt;p&gt;ELSE&lt;/p&gt;
&lt;p&gt;BEGIN&lt;/p&gt;
&lt;p&gt;INSERT INTO [Member] ([UserId],[Password],[EmailId],[Prefix],[FirstName],[LastName],[Street],[City],[Pin],[State],[Country],[TelRes],[TelOff],[DoB],[Gender],[MaritalStatus],[Education],[Profession],[Designation],[Company],[Industry],[Image],[ProfileVisibility],[Aauthorized],[Biodata],[JoiningDate],[LastModifiedDate],[MemberRole]) &lt;/p&gt;
&lt;p&gt;VALUES (@UserId,@Password,@EmailId,@Prefix,@FirstName,@LastName,@Street,&lt;br /&gt;@City,@Pin,@State,@Country,@TelRes,@TelOff,@DoB,@Gender,@MaritalStatus,&lt;br /&gt;@Education,@Profession,@Designation,@Company,@Industry,@Image,@ProfileVisibility,&lt;br /&gt;@Aauthorized,@Biodata,@JoiningDate,@LastModifiedDate,@MemberRole)&lt;/p&gt;
&lt;p&gt;END&lt;/p&gt;
&lt;p&gt;IF @@ERROR &amp;lt;&amp;gt; 0&lt;/p&gt;
&lt;p&gt;BEGIN&lt;/p&gt;
&lt;p&gt;SET @MemberId=-1&lt;/p&gt;
&lt;p&gt;ROLLBACK TRAN&lt;/p&gt;
&lt;p&gt;END&lt;/p&gt;
&lt;p&gt;ELSE&lt;/p&gt;
&lt;p&gt;BEGIN&lt;/p&gt;
&lt;p&gt;SET @MemberId=@@Identity&lt;/p&gt;
&lt;p&gt;COMMIT TRAN&lt;/p&gt;
&lt;p&gt;END&lt;/p&gt;
&lt;p&gt;END&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1646000" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/abu/archive/tags/SQL+Generator/default.aspx">SQL Generator</category></item><item><title>All the DML statement and declare statement are generated by this SP - StrAll</title><link>http://msmvps.com/blogs/abu/archive/2006/10/20/All-the-DML-statement-and-declare-statement-are-generated-by-this-SP-_2D00_-StrAll.aspx</link><pubDate>Fri, 20 Oct 2006 12:49:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:191926</guid><dc:creator>abu</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/abu/rsscomments.aspx?PostID=191926</wfw:commentRss><comments>http://msmvps.com/blogs/abu/archive/2006/10/20/All-the-DML-statement-and-declare-statement-are-generated-by-this-SP-_2D00_-StrAll.aspx#comments</comments><description>&lt;div class="itemBodyStyle"&gt;&lt;p&gt;StrAll - Helps to construct SQL Statement... Ultimately save the times&lt;/p&gt;&lt;p&gt;&lt;strong&gt;StrAll &amp;lt;TableName&amp;gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;font color="#0000ff" face="Courier New"&gt;CREATE Procedure StrAll&lt;br /&gt;(@obj varchar(255))&lt;br /&gt;as&lt;br /&gt;declare @fldname varchar(255), @len int, @datatype varchar(50), @nullable bit&lt;br /&gt;declare @sqlUpdate varchar(4000)&lt;br /&gt;declare @sqlDeclare varchar(4000)&lt;br /&gt;declare @sqlInsertFld varchar(4000)&lt;br /&gt;declare @sqlInsertVal varchar(4000)&lt;br /&gt;declare @sqlWhere varchar(4000)&lt;br /&gt;declare @sqlSelect varchar(4000)&lt;br /&gt;declare @first int&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;font color="#0000ff" face="Courier New"&gt;DECLARE obj_cursor CURSOR FOR &lt;br /&gt;&amp;nbsp;select name , length, ( select max(name) from systypes where xtype = c.xtype) datatype, isnullable&lt;br /&gt;&amp;nbsp;from syscolumns c where id=object_id(@obj)&lt;br /&gt;&amp;nbsp;order by colorder&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font color="#0000ff" face="Courier New"&gt;DECLARE obj_cursor_pk CURSOR FOR &lt;br /&gt;&amp;nbsp;SELECT&amp;nbsp; syscolumns.name + &amp;#39; = @&amp;#39; + syscolumns.name&lt;br /&gt;&amp;nbsp;FROM&amp;nbsp;&amp;nbsp;&amp;nbsp; sysindexes, syscolumns, sysindexkeys&lt;br /&gt;&amp;nbsp;WHERE&amp;nbsp;syscolumns.colid = sysindexkeys.colid&lt;br /&gt;&amp;nbsp;and&amp;nbsp;&amp;nbsp; syscolumns.id = sysindexes.id&lt;br /&gt;&amp;nbsp;and sysindexkeys.id = sysindexes.id&lt;br /&gt;&amp;nbsp;and syscolumns.id=object_id(@obj)&lt;br /&gt;&amp;nbsp;and sysindexes.indid = 1 and sysindexkeys.indid=1&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font color="#0000ff" face="Courier New"&gt;begin&lt;br /&gt;&amp;nbsp;select @first = 1, @sqlUpdate = &amp;#39;UPDATE &amp;#39; + @obj + &amp;#39; SET &amp;#39;, @sqlDeclare = &amp;#39;declare &amp;#39;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; @sqlInsertFld = &amp;#39; INSERT INTO &amp;#39; + @obj + &amp;#39; (&amp;#39;, @sqlInsertVal = &amp;#39;) VALUES (&amp;#39;,&amp;nbsp; @sqlSelect = &amp;#39; SELECT &amp;#39;&lt;br /&gt;&amp;nbsp;OPEN obj_cursor&lt;br /&gt;&amp;nbsp;FETCH NEXT FROM obj_cursor INTO @fldname, @len, @datatype, @nullable&lt;br /&gt;&amp;nbsp;WHILE @@FETCH_STATUS = 0&lt;br /&gt;&amp;nbsp;BEGIN&lt;br /&gt;&amp;nbsp;&amp;nbsp;if @first = 1&lt;br /&gt;&amp;nbsp;&amp;nbsp;begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;select @first = 0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;end&lt;br /&gt;&amp;nbsp;&amp;nbsp;else&lt;br /&gt;&amp;nbsp;&amp;nbsp;begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;set @sqlDeclare = @sqlDeclare + &amp;#39;, &amp;#39; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;set @sqlUpdate = @sqlUpdate + &amp;#39;,&amp;#39;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;set @sqlInsertFld = @sqlInsertFld + &amp;#39;,&amp;#39;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;set @sqlInsertVal = @sqlInsertVal + &amp;#39;,&amp;#39;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;set @sqlSelect = @sqlSelect + &amp;#39;, &amp;#39; &lt;br /&gt;&amp;nbsp;&amp;nbsp;end&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;set @sqlDeclare = @sqlDeclare + &lt;/font&gt;&lt;a href="mailto:&amp;#39;@&amp;#39;"&gt;&lt;font color="#0000ff" face="Courier New"&gt;&amp;#39;@&amp;#39;&lt;/font&gt;&lt;/a&gt;&lt;font color="#0000ff" face="Courier New"&gt; + @fldname + &amp;#39; &amp;#39; + @datatype + &amp;#39;(&amp;#39; + ltrim(rtrim(@len)) + &amp;#39;)&amp;#39;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;set @sqlInsertFld = @sqlInsertFld + @fldname &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;set @sqlInsertVal = @sqlInsertVal + &lt;/font&gt;&lt;a href="mailto:&amp;#39;@&amp;#39;"&gt;&lt;font color="#0000ff" face="Courier New"&gt;&amp;#39;@&amp;#39;&lt;/font&gt;&lt;/a&gt;&lt;font color="#0000ff" face="Courier New"&gt; + @fldname &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;set @sqlSelect = @sqlSelect + @fldname&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;set @sqlUpdate = @sqlUpdate + &amp;#39; &amp;#39; + @fldname + &amp;#39;= @&amp;#39; + @fldname &lt;br /&gt;&amp;nbsp;&amp;nbsp;FETCH NEXT FROM obj_cursor INTO @fldname, @len, @datatype, @nullable&lt;br /&gt;&amp;nbsp;END&lt;br /&gt;&amp;nbsp;CLOSE obj_cursor&lt;br /&gt;&amp;nbsp;DEALLOCATE obj_cursor&lt;br /&gt;&amp;nbsp;set @first = 1 &lt;br /&gt;&amp;nbsp;set @sqlWhere = &amp;#39; WHERE &amp;#39;&lt;br /&gt;&amp;nbsp;OPEN obj_cursor_pk&lt;br /&gt;&amp;nbsp;FETCH NEXT FROM obj_cursor_pk INTO @fldname&lt;br /&gt;&amp;nbsp;WHILE @@FETCH_STATUS = 0&lt;br /&gt;&amp;nbsp;BEGIN&lt;br /&gt;&amp;nbsp;&amp;nbsp;if @first = 1&lt;br /&gt;&amp;nbsp;&amp;nbsp;begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;set @first = 0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;end&lt;br /&gt;&amp;nbsp;&amp;nbsp;else&lt;br /&gt;&amp;nbsp;&amp;nbsp;begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;set @sqlWhere = @sqlWhere + &amp;#39;, &amp;#39; &lt;br /&gt;&amp;nbsp;&amp;nbsp;end&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;set @sqlWhere = @sqlWhere + &amp;#39; &amp;#39; + @fldname&lt;br /&gt;&amp;nbsp;&amp;nbsp;FETCH NEXT FROM obj_cursor_pk INTO @fldname&lt;br /&gt;&amp;nbsp;END&lt;br /&gt;&amp;nbsp;CLOSE obj_cursor_pk&lt;br /&gt;&amp;nbsp;DEALLOCATE obj_cursor_pk&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font color="#0000ff" face="Courier New"&gt;&amp;nbsp;set @sqlInsertVal = @sqlInsertFld + @sqlInsertVal + &amp;#39; )&amp;#39;&lt;br /&gt;&amp;nbsp;set @sqlSelect = @sqlSelect + &amp;#39; FROM &amp;#39; + @obj&lt;br /&gt;&amp;nbsp;select @sqlDeclare = Replace(@sqlDeclare,&amp;#39;int(4)&amp;#39;,&amp;#39;int&amp;#39;)&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font color="#0000ff" face="Courier New"&gt;&amp;nbsp;print &amp;#39;&amp;#39;&lt;br /&gt;&amp;nbsp;print &amp;#39;Select........&amp;#39;&lt;br /&gt;&amp;nbsp;print @sqlSelect&lt;br /&gt;&amp;nbsp;print &amp;#39;&amp;#39;&lt;br /&gt;&amp;nbsp;print &amp;#39;Declare........&amp;#39;&lt;br /&gt;&amp;nbsp;print @sqlDeclare&lt;br /&gt;&amp;nbsp;print &amp;#39;&amp;#39;&lt;br /&gt;&amp;nbsp;print &amp;#39;Insert........&amp;#39;&lt;br /&gt;&amp;nbsp;print @sqlInsertVal&lt;br /&gt;&amp;nbsp;print &amp;#39;&amp;#39;&lt;br /&gt;&amp;nbsp;print &amp;#39;Update........&amp;#39;&lt;br /&gt;&amp;nbsp;print @sqlUpdate + @sqlWhere&lt;br /&gt;&amp;nbsp;print &amp;#39;&amp;#39;&lt;br /&gt;&amp;nbsp;print &amp;#39;Delete........&amp;#39;&lt;br /&gt;&amp;nbsp;print &amp;#39;DELETE FROM &amp;#39; + @obj + &amp;#39; &amp;#39; + @sqlWhere&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font color="#0000ff" face="Courier New"&gt;END&lt;br /&gt;GO&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=191926" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/abu/archive/tags/SQL+Generator/default.aspx">SQL Generator</category></item><item><title>Auto-Generate Template or Skeleton of an Insert Procedure of a SQL Server Table</title><link>http://msmvps.com/blogs/abu/archive/2005/09/19/auto-generate-template-or-skeleton-of-an-insert-procedure-of-a-sql-server-table.aspx</link><pubDate>Tue, 20 Sep 2005 01:01:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:66912</guid><dc:creator>abu</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/abu/rsscomments.aspx?PostID=66912</wfw:commentRss><comments>http://msmvps.com/blogs/abu/archive/2005/09/19/auto-generate-template-or-skeleton-of-an-insert-procedure-of-a-sql-server-table.aspx#comments</comments><description>&lt;p&gt;&lt;font face="Courier New" color="#0000ff" size="2"&gt;DROP&amp;nbsp; procedure InsertProc &lt;br /&gt;&lt;font color="#000000"&gt;GO&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Courier New" color="#0000ff" size="2"&gt;CREATE procedure InsertProc &lt;br /&gt;( @tablename varchar(100))&lt;br /&gt;as&lt;br /&gt;declare @cname varchar(100),@First int, @strAllColumns varchar(5000),@strAllColumnsVal varchar(5000),&lt;br /&gt;&amp;nbsp;@strParam varchar(5000), @strAllParams varchar(1000), @length int&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Courier New" color="#0000ff" size="2"&gt;declare crsColumn cursor&amp;nbsp; for&lt;br /&gt;&amp;nbsp;select &amp;nbsp;name from syscolumns where id=object_id(@tablename)&lt;br /&gt;declare crsParam cursor&amp;nbsp; for&lt;br /&gt;select (select max(name) from systypes where xtype=sc.xtype) param,&lt;br /&gt;length, name&lt;br /&gt;from syscolumns sc where id= ( select id from sysobjects where &lt;/font&gt;&lt;a href="mailto:name=@tablename"&gt;&lt;font face="Courier New" color="#0000ff" size="2"&gt;name=@tablename&lt;/font&gt;&lt;/a&gt;&lt;font face="Courier New" color="#0000ff" size="2"&gt;)&lt;br /&gt;----------------------------------------------------------------------&lt;br /&gt;begin&lt;br /&gt;----------------------------------------------------------------------&lt;br /&gt;---------------------------------------- Header Information ----------&lt;br /&gt;print &amp;#39;/*&lt;br /&gt;&amp;nbsp;Procedure Name&amp;nbsp;&amp;nbsp;: stp&amp;#39; + replace(@tablename,&amp;#39;tbl&amp;#39;,&amp;#39;&amp;#39;) + &amp;#39;Ins&lt;br /&gt;&amp;nbsp;Version&amp;nbsp;&amp;nbsp;&amp;nbsp;: 1.0&lt;br /&gt;&amp;nbsp;Dated&amp;nbsp;&amp;nbsp;&amp;nbsp;: &amp;#39; + convert(varchar(12),getdate(),107) + &amp;#39;&lt;br /&gt;&amp;nbsp;Project&amp;nbsp;&amp;nbsp;&amp;nbsp;: &lt;br /&gt;&amp;nbsp;Module&amp;nbsp;&amp;nbsp;&amp;nbsp;:&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;Client&amp;nbsp;&amp;nbsp;&amp;nbsp;: &lt;br /&gt;&amp;nbsp;Developer&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : &lt;br /&gt;&amp;nbsp;Location&amp;nbsp;&amp;nbsp;: &lt;br /&gt;&amp;nbsp;Calling Program&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : &lt;br /&gt;&amp;nbsp;Purpose&amp;nbsp;&amp;nbsp;&amp;nbsp;: For insersetion fo data into &amp;#39; + @tablename +&amp;#39;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Method&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : Get Input Params via &lt;br /&gt;&amp;nbsp;Input Parameters&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : Parameters &lt;br /&gt;&amp;nbsp;Output Parameter&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 1 Parameter @NewId&lt;br /&gt;&amp;nbsp;Tables Accessed&amp;nbsp;&amp;nbsp;: &amp;#39; + @tablename + &amp;#39;*/&amp;#39;&lt;br /&gt;print&amp;nbsp;&amp;#39;CREATE PROCEDURE stp&amp;#39; + replace(@tablename,&amp;#39;tbl&amp;#39;,&amp;#39;&amp;#39;) + &amp;#39;Ins (&amp;#39; &lt;br /&gt;--------------------------------------------------------------------------&lt;br /&gt;---------------------------------------- Parameter List Information ------&lt;br /&gt;OPEN crsParam&lt;br /&gt;select @First = 1&lt;br /&gt;FETCH NEXT FROM crsParam INTO @strParam, @length, @cname&lt;br /&gt;WHILE @@FETCH_STATUS = 0&lt;br /&gt;BEGIN&lt;br /&gt;&amp;nbsp;&amp;nbsp;If @strParam = &amp;#39;varchar&amp;#39;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;print &lt;/font&gt;&lt;a href="mailto:&amp;#39;@&amp;#39;"&gt;&lt;font face="Courier New" color="#0000ff" size="2"&gt;&amp;#39;@&amp;#39;&lt;/font&gt;&lt;/a&gt;&lt;font face="Courier New" color="#0000ff" size="2"&gt; + @cname + &amp;#39; &amp;#39; + @strParam + &amp;#39; (&amp;#39; + ltrim(rtrim(str(@length))) + &amp;#39;),&amp;#39;&lt;br /&gt;&amp;nbsp;&amp;nbsp;Else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;print&amp;nbsp; &lt;/font&gt;&lt;a href="mailto:&amp;#39;@&amp;#39;"&gt;&lt;font face="Courier New" color="#0000ff" size="2"&gt;&amp;#39;@&amp;#39;&lt;/font&gt;&lt;/a&gt;&lt;font face="Courier New" color="#0000ff" size="2"&gt; +&amp;nbsp; @cname + &amp;#39; &amp;#39; +&amp;nbsp; @strParam &amp;nbsp;+ &amp;#39;,&amp;#39;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Courier New" color="#0000ff" size="2"&gt;&amp;nbsp;FETCH NEXT FROM crsParam INTO @strParam, @length, @cname&lt;br /&gt;END&lt;br /&gt;CLOSE crsParam&lt;br /&gt;DEALLOCATE crsParam&lt;br /&gt;----------------------------------------------------------------------------&lt;br /&gt;OPEN crsColumn&lt;br /&gt;FETCH NEXT FROM crsColumn INTO @cname&lt;br /&gt;select @strAllColumns = &amp;#39;&amp;#39;&lt;br /&gt;select @strAllColumnsVal = &amp;#39;&amp;#39;&lt;br /&gt;WHILE @@FETCH_STATUS = 0&lt;br /&gt;BEGIN&lt;br /&gt;&amp;nbsp;select @strAllColumns = @strAllColumns&amp;nbsp; + @cname + &amp;#39;,&amp;#39;&lt;br /&gt;&amp;nbsp;select @strAllColumnsVal = @strAllColumnsVal + &lt;/font&gt;&lt;a href="mailto:&amp;#39;@&amp;#39;"&gt;&lt;font face="Courier New" color="#0000ff" size="2"&gt;&amp;#39;@&amp;#39;&lt;/font&gt;&lt;/a&gt;&lt;font face="Courier New" color="#0000ff" size="2"&gt; + @cname + &amp;#39;,&amp;#39;&lt;br /&gt;&amp;nbsp;FETCH NEXT FROM crsColumn INTO @cname&lt;br /&gt;END&lt;br /&gt;CLOSE crsColumn&lt;br /&gt;DEALLOCATE crsColumn&lt;br /&gt;----------------------------------------------------------------------------&lt;br /&gt;print&amp;nbsp;&lt;/font&gt;&lt;a href="mailto:&amp;#39;@NewId"&gt;&lt;font face="Courier New" color="#0000ff" size="2"&gt;&amp;#39;@NewId&lt;/font&gt;&lt;/a&gt;&lt;font face="Courier New" color="#0000ff" size="2"&gt; int out&lt;br /&gt;)&lt;br /&gt;AS&lt;br /&gt;Begin Tran&lt;br /&gt;Begin&lt;br /&gt;&amp;nbsp;INSERT INTO &amp;#39; + @tablename + &amp;#39;(&amp;#39; &lt;br /&gt;print left(@strAllColumns ,len(@strAllColumns)-1)&lt;br /&gt;print&amp;nbsp;&amp;#39;&amp;nbsp;VALUES&amp;nbsp;(&amp;#39; &lt;br /&gt;print left(@strAllColumnsVal,len(@strAllColumnsval)-1)&lt;br /&gt;print&amp;nbsp;&amp;#39;If @@Error &amp;lt;&amp;gt; 0&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Rollback Tran&lt;br /&gt;&amp;nbsp;Else&lt;br /&gt;&amp;nbsp;&amp;nbsp;Begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;SET @NewId = @@Identity&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Commit Tran&lt;br /&gt;&amp;nbsp;&amp;nbsp;End&lt;br /&gt;End&amp;#39;&lt;br /&gt;end&lt;br /&gt;&lt;font color="#000000"&gt;GO&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Courier New" color="#0000ff" size="2"&gt;InsertProc Customers&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Courier New" color="#0000ff" size="2"&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;font face="Courier New" color="#0000ff"&gt;&lt;font color="#006400" size="2"&gt;Output:&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Courier New" color="#0000ff"&gt;&lt;font color="#006400" size="2"&gt;/*&lt;br /&gt;&amp;nbsp;Procedure Name&amp;nbsp;&amp;nbsp;: stpCustomersIns&lt;br /&gt;&amp;nbsp;Version&amp;nbsp;&amp;nbsp;&amp;nbsp;: 1.0&lt;br /&gt;&amp;nbsp;Dated&amp;nbsp;&amp;nbsp;&amp;nbsp;: Sep 19, 2005&lt;br /&gt;&amp;nbsp;Project&amp;nbsp;&amp;nbsp;&amp;nbsp;: &lt;br /&gt;&amp;nbsp;Module&amp;nbsp;&amp;nbsp;&amp;nbsp;:&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;Client&amp;nbsp;&amp;nbsp;&amp;nbsp;: &lt;br /&gt;&amp;nbsp;Developer&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : &lt;br /&gt;&amp;nbsp;Location&amp;nbsp;&amp;nbsp;: &lt;br /&gt;&amp;nbsp;Calling Program&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : &lt;br /&gt;&amp;nbsp;Purpose&amp;nbsp;&amp;nbsp;&amp;nbsp;: For insersetion fo data into Customers&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Method&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : Get Input Params via &lt;br /&gt;&amp;nbsp;Input Parameters&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : Parameters &lt;br /&gt;&amp;nbsp;Output Parameter&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 1 Parameter @NewId&lt;br /&gt;&amp;nbsp;Tables Accessed&amp;nbsp;&amp;nbsp;: Customers*/&lt;br /&gt;CREATE PROCEDURE stpCustomersIns (&lt;br /&gt;@CustomerID nchar,&lt;br /&gt;@CompanyName sysname,&lt;br /&gt;@ContactName sysname,&lt;br /&gt;@ContactTitle sysname,&lt;br /&gt;@Address sysname,&lt;br /&gt;@City sysname,&lt;br /&gt;@Region sysname,&lt;br /&gt;@PostalCode sysname,&lt;br /&gt;@Country sysname,&lt;br /&gt;@Phone sysname,&lt;br /&gt;@Fax sysname,&lt;br /&gt;@NewId int out&lt;br /&gt;)&lt;br /&gt;AS&lt;br /&gt;Begin Tran&lt;br /&gt;Begin&lt;br /&gt;&amp;nbsp;INSERT INTO Customers(&lt;br /&gt;CustomerID,CompanyName,ContactName,ContactTitle,Address,City,Region,PostalCode,Country,Phone,Fax&lt;br /&gt;&amp;nbsp;VALUES&amp;nbsp;(&lt;br /&gt;@CustomerID,@CompanyName,@ContactName,@ContactTitle,@Address,@City,@Region,@PostalCode,@Country,@Phone,@Fax&lt;br /&gt;If @@Error &amp;lt;&amp;gt; 0&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Rollback Tran&lt;br /&gt;&amp;nbsp;Else&lt;br /&gt;&amp;nbsp;&amp;nbsp;Begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;SET @NewId = @@Identity&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Commit Tran&lt;br /&gt;&amp;nbsp;&amp;nbsp;End&lt;br /&gt;End&lt;br /&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Courier New" color="#0000ff"&gt;&lt;font color="#006400" size="2"&gt;* Note: Here User Defined Data Type / Identity Columns are not taken care of. After generating this Script Need to check and do some changes. This is speed up the development procedure but generating the structure of of the procedure. And also typo will not be there.&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New" color="#0000ff"&gt;&lt;font color="#006400" size="2"&gt;&lt;/p&gt;&lt;/font&gt;
&lt;p&gt;&lt;br /&gt;&lt;font size="2"&gt;&amp;nbsp;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;/font&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=66912" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/abu/archive/tags/SQL+Generator/default.aspx">SQL Generator</category></item><item><title>Describing the Table in Simple Format - Oracle guys are habituated to get the similer type output through 'desc' command</title><link>http://msmvps.com/blogs/abu/archive/2005/09/19/describing-the-table-in-simple-format-oracle-guys-are-habituated-to-get-the-similer-type-output-through-desc-command.aspx</link><pubDate>Mon, 19 Sep 2005 16:15:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:66888</guid><dc:creator>abu</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/abu/rsscomments.aspx?PostID=66888</wfw:commentRss><comments>http://msmvps.com/blogs/abu/archive/2005/09/19/describing-the-table-in-simple-format-oracle-guys-are-habituated-to-get-the-similer-type-output-through-desc-command.aspx#comments</comments><description>&lt;p&gt;&lt;font face="Courier New" color="#0000ff" size="2"&gt;Use Northwind&lt;br /&gt;&lt;font color="#000000"&gt;Go&lt;/font&gt;&lt;br /&gt;create procedure des(@tablename varchar(100))&lt;br /&gt;as&lt;br /&gt;select name,(select max(name) from systypes where xtype=sc.xtype) datatype,&lt;br /&gt;length,prec,scale,case isnullable when 1 then &amp;#39;Y&amp;#39; when 0 then &amp;#39;N&amp;#39; else &amp;#39;X&amp;#39; end nullable&lt;br /&gt;from syscolumns sc where id= ( select id from sysobjects where &lt;/font&gt;&lt;a href="mailto:name=@tablename"&gt;&lt;font face="Courier New" color="#0000ff" size="2"&gt;name=@tablename&lt;/font&gt;&lt;/a&gt;&lt;font face="Courier New" color="#0000ff" size="2"&gt;)&lt;br /&gt;&lt;font color="#000000"&gt;GO&lt;/font&gt;&lt;br /&gt;des Products&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Courier New" color="#000000" size="2"&gt;Output:&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;
&lt;table class="MsoTableGrid" style="BORDER-COLLAPSE:collapse;mso-yfti-tbllook:480;mso-padding-alt:0in 5.4pt 0in 5.4pt;" cellspacing="0" cellpadding="0"&gt;

&lt;tr style="mso-yfti-irow:0;mso-yfti-firstrow:yes;"&gt;
&lt;td style="BORDER-RIGHT:#ece9d8;PADDING-RIGHT:5.4pt;BORDER-TOP:#ece9d8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#ece9d8;WIDTH:73.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#ece9d8;BACKGROUND-COLOR:transparent;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;name&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:#ece9d8;PADDING-RIGHT:5.4pt;BORDER-TOP:#ece9d8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#ece9d8;WIDTH:73.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#ece9d8;BACKGROUND-COLOR:transparent;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;datatype&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:#ece9d8;PADDING-RIGHT:5.4pt;BORDER-TOP:#ece9d8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#ece9d8;WIDTH:73.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#ece9d8;BACKGROUND-COLOR:transparent;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;length&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:#ece9d8;PADDING-RIGHT:5.4pt;BORDER-TOP:#ece9d8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#ece9d8;WIDTH:73.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#ece9d8;BACKGROUND-COLOR:transparent;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;prec&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:#ece9d8;PADDING-RIGHT:5.4pt;BORDER-TOP:#ece9d8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#ece9d8;WIDTH:73.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#ece9d8;BACKGROUND-COLOR:transparent;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;scale&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:#ece9d8;PADDING-RIGHT:5.4pt;BORDER-TOP:#ece9d8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#ece9d8;WIDTH:73.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#ece9d8;BACKGROUND-COLOR:transparent;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="FONT-SIZE:11pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;nullable&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:1;"&gt;
&lt;td style="BORDER-RIGHT:#ece9d8;PADDING-RIGHT:5.4pt;BORDER-TOP:#ece9d8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#ece9d8;WIDTH:73.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#ece9d8;BACKGROUND-COLOR:transparent;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;ProductID&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:#ece9d8;PADDING-RIGHT:5.4pt;BORDER-TOP:#ece9d8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#ece9d8;WIDTH:73.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#ece9d8;BACKGROUND-COLOR:transparent;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;int&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:#ece9d8;PADDING-RIGHT:5.4pt;BORDER-TOP:#ece9d8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#ece9d8;WIDTH:73.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#ece9d8;BACKGROUND-COLOR:transparent;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;4&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:#ece9d8;PADDING-RIGHT:5.4pt;BORDER-TOP:#ece9d8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#ece9d8;WIDTH:73.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#ece9d8;BACKGROUND-COLOR:transparent;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;10&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:#ece9d8;PADDING-RIGHT:5.4pt;BORDER-TOP:#ece9d8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#ece9d8;WIDTH:73.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#ece9d8;BACKGROUND-COLOR:transparent;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:#ece9d8;PADDING-RIGHT:5.4pt;BORDER-TOP:#ece9d8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#ece9d8;WIDTH:73.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#ece9d8;BACKGROUND-COLOR:transparent;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;N&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:2;"&gt;
&lt;td style="BORDER-RIGHT:#ece9d8;PADDING-RIGHT:5.4pt;BORDER-TOP:#ece9d8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#ece9d8;WIDTH:73.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#ece9d8;BACKGROUND-COLOR:transparent;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;ProductName&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:#ece9d8;PADDING-RIGHT:5.4pt;BORDER-TOP:#ece9d8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#ece9d8;WIDTH:73.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#ece9d8;BACKGROUND-COLOR:transparent;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;sysname&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:#ece9d8;PADDING-RIGHT:5.4pt;BORDER-TOP:#ece9d8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#ece9d8;WIDTH:73.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#ece9d8;BACKGROUND-COLOR:transparent;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;80&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:#ece9d8;PADDING-RIGHT:5.4pt;BORDER-TOP:#ece9d8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#ece9d8;WIDTH:73.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#ece9d8;BACKGROUND-COLOR:transparent;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;40&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:#ece9d8;PADDING-RIGHT:5.4pt;BORDER-TOP:#ece9d8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#ece9d8;WIDTH:73.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#ece9d8;BACKGROUND-COLOR:transparent;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;NULL&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:#ece9d8;PADDING-RIGHT:5.4pt;BORDER-TOP:#ece9d8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#ece9d8;WIDTH:73.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#ece9d8;BACKGROUND-COLOR:transparent;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;N&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:3;"&gt;
&lt;td style="BORDER-RIGHT:#ece9d8;PADDING-RIGHT:5.4pt;BORDER-TOP:#ece9d8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#ece9d8;WIDTH:73.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#ece9d8;BACKGROUND-COLOR:transparent;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;SupplierID&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:#ece9d8;PADDING-RIGHT:5.4pt;BORDER-TOP:#ece9d8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#ece9d8;WIDTH:73.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#ece9d8;BACKGROUND-COLOR:transparent;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;int&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:#ece9d8;PADDING-RIGHT:5.4pt;BORDER-TOP:#ece9d8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#ece9d8;WIDTH:73.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#ece9d8;BACKGROUND-COLOR:transparent;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;4&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:#ece9d8;PADDING-RIGHT:5.4pt;BORDER-TOP:#ece9d8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#ece9d8;WIDTH:73.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#ece9d8;BACKGROUND-COLOR:transparent;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;10&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:#ece9d8;PADDING-RIGHT:5.4pt;BORDER-TOP:#ece9d8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#ece9d8;WIDTH:73.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#ece9d8;BACKGROUND-COLOR:transparent;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:#ece9d8;PADDING-RIGHT:5.4pt;BORDER-TOP:#ece9d8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#ece9d8;WIDTH:73.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#ece9d8;BACKGROUND-COLOR:transparent;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;Y&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:4;"&gt;
&lt;td style="BORDER-RIGHT:#ece9d8;PADDING-RIGHT:5.4pt;BORDER-TOP:#ece9d8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#ece9d8;WIDTH:73.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#ece9d8;BACKGROUND-COLOR:transparent;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;CategoryID&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:#ece9d8;PADDING-RIGHT:5.4pt;BORDER-TOP:#ece9d8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#ece9d8;WIDTH:73.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#ece9d8;BACKGROUND-COLOR:transparent;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;int&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:#ece9d8;PADDING-RIGHT:5.4pt;BORDER-TOP:#ece9d8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#ece9d8;WIDTH:73.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#ece9d8;BACKGROUND-COLOR:transparent;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;4&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:#ece9d8;PADDING-RIGHT:5.4pt;BORDER-TOP:#ece9d8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#ece9d8;WIDTH:73.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#ece9d8;BACKGROUND-COLOR:transparent;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;10&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:#ece9d8;PADDING-RIGHT:5.4pt;BORDER-TOP:#ece9d8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#ece9d8;WIDTH:73.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#ece9d8;BACKGROUND-COLOR:transparent;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:#ece9d8;PADDING-RIGHT:5.4pt;BORDER-TOP:#ece9d8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#ece9d8;WIDTH:73.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#ece9d8;BACKGROUND-COLOR:transparent;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;Y&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:5;"&gt;
&lt;td style="BORDER-RIGHT:#ece9d8;PADDING-RIGHT:5.4pt;BORDER-TOP:#ece9d8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#ece9d8;WIDTH:73.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#ece9d8;BACKGROUND-COLOR:transparent;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;QuantityPerUnit&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:#ece9d8;PADDING-RIGHT:5.4pt;BORDER-TOP:#ece9d8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#ece9d8;WIDTH:73.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#ece9d8;BACKGROUND-COLOR:transparent;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;sysname&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:#ece9d8;PADDING-RIGHT:5.4pt;BORDER-TOP:#ece9d8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#ece9d8;WIDTH:73.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#ece9d8;BACKGROUND-COLOR:transparent;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;40&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:#ece9d8;PADDING-RIGHT:5.4pt;BORDER-TOP:#ece9d8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#ece9d8;WIDTH:73.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#ece9d8;BACKGROUND-COLOR:transparent;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;20&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:#ece9d8;PADDING-RIGHT:5.4pt;BORDER-TOP:#ece9d8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#ece9d8;WIDTH:73.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#ece9d8;BACKGROUND-COLOR:transparent;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;NULL&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:#ece9d8;PADDING-RIGHT:5.4pt;BORDER-TOP:#ece9d8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#ece9d8;WIDTH:73.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#ece9d8;BACKGROUND-COLOR:transparent;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;Y&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:6;"&gt;
&lt;td style="BORDER-RIGHT:#ece9d8;PADDING-RIGHT:5.4pt;BORDER-TOP:#ece9d8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#ece9d8;WIDTH:73.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#ece9d8;BACKGROUND-COLOR:transparent;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;UnitPrice&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:#ece9d8;PADDING-RIGHT:5.4pt;BORDER-TOP:#ece9d8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#ece9d8;WIDTH:73.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#ece9d8;BACKGROUND-COLOR:transparent;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;money&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:#ece9d8;PADDING-RIGHT:5.4pt;BORDER-TOP:#ece9d8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#ece9d8;WIDTH:73.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#ece9d8;BACKGROUND-COLOR:transparent;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;8&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:#ece9d8;PADDING-RIGHT:5.4pt;BORDER-TOP:#ece9d8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#ece9d8;WIDTH:73.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#ece9d8;BACKGROUND-COLOR:transparent;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;19&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:#ece9d8;PADDING-RIGHT:5.4pt;BORDER-TOP:#ece9d8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#ece9d8;WIDTH:73.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#ece9d8;BACKGROUND-COLOR:transparent;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;4&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:#ece9d8;PADDING-RIGHT:5.4pt;BORDER-TOP:#ece9d8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#ece9d8;WIDTH:73.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#ece9d8;BACKGROUND-COLOR:transparent;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;Y&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:7;"&gt;
&lt;td style="BORDER-RIGHT:#ece9d8;PADDING-RIGHT:5.4pt;BORDER-TOP:#ece9d8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#ece9d8;WIDTH:73.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#ece9d8;BACKGROUND-COLOR:transparent;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;UnitsInStock&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:#ece9d8;PADDING-RIGHT:5.4pt;BORDER-TOP:#ece9d8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#ece9d8;WIDTH:73.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#ece9d8;BACKGROUND-COLOR:transparent;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;smallint&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:#ece9d8;PADDING-RIGHT:5.4pt;BORDER-TOP:#ece9d8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#ece9d8;WIDTH:73.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#ece9d8;BACKGROUND-COLOR:transparent;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;2&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:#ece9d8;PADDING-RIGHT:5.4pt;BORDER-TOP:#ece9d8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#ece9d8;WIDTH:73.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#ece9d8;BACKGROUND-COLOR:transparent;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;5&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:#ece9d8;PADDING-RIGHT:5.4pt;BORDER-TOP:#ece9d8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#ece9d8;WIDTH:73.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#ece9d8;BACKGROUND-COLOR:transparent;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:#ece9d8;PADDING-RIGHT:5.4pt;BORDER-TOP:#ece9d8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#ece9d8;WIDTH:73.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#ece9d8;BACKGROUND-COLOR:transparent;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;Y&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:8;"&gt;
&lt;td style="BORDER-RIGHT:#ece9d8;PADDING-RIGHT:5.4pt;BORDER-TOP:#ece9d8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#ece9d8;WIDTH:73.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#ece9d8;BACKGROUND-COLOR:transparent;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;UnitsOnOrder&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:#ece9d8;PADDING-RIGHT:5.4pt;BORDER-TOP:#ece9d8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#ece9d8;WIDTH:73.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#ece9d8;BACKGROUND-COLOR:transparent;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;smallint&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:#ece9d8;PADDING-RIGHT:5.4pt;BORDER-TOP:#ece9d8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#ece9d8;WIDTH:73.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#ece9d8;BACKGROUND-COLOR:transparent;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;2&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:#ece9d8;PADDING-RIGHT:5.4pt;BORDER-TOP:#ece9d8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#ece9d8;WIDTH:73.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#ece9d8;BACKGROUND-COLOR:transparent;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;5&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:#ece9d8;PADDING-RIGHT:5.4pt;BORDER-TOP:#ece9d8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#ece9d8;WIDTH:73.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#ece9d8;BACKGROUND-COLOR:transparent;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:#ece9d8;PADDING-RIGHT:5.4pt;BORDER-TOP:#ece9d8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#ece9d8;WIDTH:73.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#ece9d8;BACKGROUND-COLOR:transparent;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;Y&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:9;"&gt;
&lt;td style="BORDER-RIGHT:#ece9d8;PADDING-RIGHT:5.4pt;BORDER-TOP:#ece9d8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#ece9d8;WIDTH:73.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#ece9d8;BACKGROUND-COLOR:transparent;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;ReorderLevel&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:#ece9d8;PADDING-RIGHT:5.4pt;BORDER-TOP:#ece9d8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#ece9d8;WIDTH:73.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#ece9d8;BACKGROUND-COLOR:transparent;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;smallint&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:#ece9d8;PADDING-RIGHT:5.4pt;BORDER-TOP:#ece9d8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#ece9d8;WIDTH:73.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#ece9d8;BACKGROUND-COLOR:transparent;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;2&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:#ece9d8;PADDING-RIGHT:5.4pt;BORDER-TOP:#ece9d8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#ece9d8;WIDTH:73.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#ece9d8;BACKGROUND-COLOR:transparent;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;5&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:#ece9d8;PADDING-RIGHT:5.4pt;BORDER-TOP:#ece9d8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#ece9d8;WIDTH:73.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#ece9d8;BACKGROUND-COLOR:transparent;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:#ece9d8;PADDING-RIGHT:5.4pt;BORDER-TOP:#ece9d8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#ece9d8;WIDTH:73.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#ece9d8;BACKGROUND-COLOR:transparent;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;Y&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:10;mso-yfti-lastrow:yes;"&gt;
&lt;td style="BORDER-RIGHT:#ece9d8;PADDING-RIGHT:5.4pt;BORDER-TOP:#ece9d8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#ece9d8;WIDTH:73.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#ece9d8;BACKGROUND-COLOR:transparent;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;Discontinued&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:#ece9d8;PADDING-RIGHT:5.4pt;BORDER-TOP:#ece9d8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#ece9d8;WIDTH:73.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#ece9d8;BACKGROUND-COLOR:transparent;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;bit&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:#ece9d8;PADDING-RIGHT:5.4pt;BORDER-TOP:#ece9d8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#ece9d8;WIDTH:73.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#ece9d8;BACKGROUND-COLOR:transparent;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;1&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:#ece9d8;PADDING-RIGHT:5.4pt;BORDER-TOP:#ece9d8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#ece9d8;WIDTH:73.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#ece9d8;BACKGROUND-COLOR:transparent;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;1&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:#ece9d8;PADDING-RIGHT:5.4pt;BORDER-TOP:#ece9d8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#ece9d8;WIDTH:73.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#ece9d8;BACKGROUND-COLOR:transparent;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style="BORDER-RIGHT:#ece9d8;PADDING-RIGHT:5.4pt;BORDER-TOP:#ece9d8;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:#ece9d8;WIDTH:73.8pt;PADDING-TOP:0in;BORDER-BOTTOM:#ece9d8;BACKGROUND-COLOR:transparent;"&gt;
&lt;p class="MsoNormal" style="MARGIN:0in 0in 0pt;"&gt;&lt;span style="FONT-SIZE:10pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;N&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;font face="Courier New" color="#ff0000"&gt;Cheers!!!&lt;/font&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=66888" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/abu/archive/tags/SQL+Generator/default.aspx">SQL Generator</category></item></channel></rss>