<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Script สร้าง Datadict สำหรับ MSSQL</title>
	<atom:link href="http://www.nop.in.th/database/mssql/script-%e0%b8%aa%e0%b8%a3%e0%b9%89%e0%b8%b2%e0%b8%87-datadict-%e0%b8%aa%e0%b8%b3%e0%b8%ab%e0%b8%a3%e0%b8%b1%e0%b8%9a-mssql/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.nop.in.th/database/mssql/script-%e0%b8%aa%e0%b8%a3%e0%b9%89%e0%b8%b2%e0%b8%87-datadict-%e0%b8%aa%e0%b8%b3%e0%b8%ab%e0%b8%a3%e0%b8%b1%e0%b8%9a-mssql/</link>
	<description>Nop Pinyowanichaka &#124; ก้าวสั้นๆ ในวันเบาๆ ของผม</description>
	<lastBuildDate>Fri, 03 Sep 2010 16:50:48 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<item>
		<title>By: นพ</title>
		<link>http://www.nop.in.th/database/mssql/script-%e0%b8%aa%e0%b8%a3%e0%b9%89%e0%b8%b2%e0%b8%87-datadict-%e0%b8%aa%e0%b8%b3%e0%b8%ab%e0%b8%a3%e0%b8%b1%e0%b8%9a-mssql/comment-page-1/#comment-303</link>
		<dc:creator>นพ</dc:creator>
		<pubDate>Wed, 26 Nov 2008 14:37:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.nop.in.th/?p=198#comment-303</guid>
		<description>โห script เทพฯ อย่างอย่างนี้ add link server แล้วใช่ปะคัพ ถ้า add link server แล้ว ดึง จาก store proc เข้าตัวแปลก่อนได้มั้ย แล้ว ตอน

AND A.NAME = ‘BI.BI_SAL.dbo.BsaleProdMth’ AND
ค่อย
AND A.NAME = @ตัวแปรแทน 

ไม่ทราบว่าเข้าใจถูกหรือเปล่านะคัพ 

ปล. สคริป สุดยอดจริงๆคัพ

ปล. แล้วอย่างนี้ใช้ แค่ isnull(filed,0) แล้วก้อ ผสมๆ กะ case เพื่อสร้าง filed flag นีี่ไม่เวิ๊กเหรอครับ ไม่ทราบว่าเข้าใจถูกหรือเปล่าอีกเหมือนกันนะคัพ แหะๆ</description>
		<content:encoded><![CDATA[<p>โห script เทพฯ อย่างอย่างนี้ add link server แล้วใช่ปะคัพ ถ้า add link server แล้ว ดึง จาก store proc เข้าตัวแปลก่อนได้มั้ย แล้ว ตอน</p>
<p>AND A.NAME = ‘BI.BI_SAL.dbo.BsaleProdMth’ AND<br />
ค่อย<br />
AND A.NAME = @ตัวแปรแทน </p>
<p>ไม่ทราบว่าเข้าใจถูกหรือเปล่านะคัพ </p>
<p>ปล. สคริป สุดยอดจริงๆคัพ</p>
<p>ปล. แล้วอย่างนี้ใช้ แค่ isnull(filed,0) แล้วก้อ ผสมๆ กะ case เพื่อสร้าง filed flag นีี่ไม่เวิ๊กเหรอครับ ไม่ทราบว่าเข้าใจถูกหรือเปล่าอีกเหมือนกันนะคัพ แหะๆ</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Game-Mun.com</title>
		<link>http://www.nop.in.th/database/mssql/script-%e0%b8%aa%e0%b8%a3%e0%b9%89%e0%b8%b2%e0%b8%87-datadict-%e0%b8%aa%e0%b8%b3%e0%b8%ab%e0%b8%a3%e0%b8%b1%e0%b8%9a-mssql/comment-page-1/#comment-302</link>
		<dc:creator>Game-Mun.com</dc:creator>
		<pubDate>Wed, 26 Nov 2008 03:34:12 +0000</pubDate>
		<guid isPermaLink="false">http://www.nop.in.th/?p=198#comment-302</guid>
		<description>บอกจุดประสงค์ดีกว่า คือผมต้องการจะ Check Field ทั้งหมดว่า Field ไหน

เป็น 0, &#039;N/A&#039;, NULL ผมจะไปบังคับให้เวลาดึงไปที่โปรแกรมไม่โชก็คือ

set @Flag = &#039;N&#039; อะครับ ตอนนี้ที่ base เดียวกัน ทำได้แล้ว

แต่ติดเมื่อนำ procedure ไปวางที่อื่น แล้วจะ check ข้าม Base  

ถ้าทำไม่ได้จริงๆ คงต้อง manual script เอาละครับ

ส่วนนี่เป็น procedure ที่เขียนไว้

CREATE PROCEDURE usp_UpdShowFlag
                @Com_Id      INT,
                @Dep_Id      INT,
                @Obj_Id      INT,
                @Usr_Id      INT,
                @Level_Id    INT,
                @Template_Id INT,
                @Db_Name	 VARCHAR(100),
                @Table_Name  VARCHAR(8000)
                

AS
  BEGIN
    DECLARE  @Col_Name 		VARCHAR(1000)
    DECLARE  @Data_Type		VARCHAR(1000)
    DECLARE  @SELECT 		VARCHAR(8000)
	DECLARE  @First_Rec 	VARCHAR(1)
	DECLARE  @Flag 			VARCHAR(1)
	
	
BEGIN TRY

DECLARE MTEMPLATEITEM_COL_NAME CURSOR  FOR
        SELECT B.NAME  AS COLUMN_NAME ,   C.NAME  AS TYPE
		FROM SYSOBJECTS A,SYSCOLUMNS B,SYSTYPES C
		WHERE A.ID = B.ID  AND A.XTYPE = &#039;U&#039; AND A.NAME IN (@Table_Name) AND
		B.XUSERTYPE = C.XUSERTYPE

OPEN MTEMPLATEITEM_COL_NAME

SET @First_Rec = &#039;Y&#039;

FETCH NEXT FROM MTEMPLATEITEM_COL_NAME
      INTO @Col_Name, @Data_Type

WHILE @@FETCH_STATUS = 0
  BEGIN
      IF  @First_Rec  = &#039;Y&#039;
      BEGIN
          SET @First_Rec  = &#039;N&#039;
         
		   -- IF @Data_Type = &#039;varchar&#039; -- Before Update 14/11/52
           IF @Data_Type = &#039;varchar&#039; OR @Data_Type = &#039;char&#039; 

			BEGIN
        	SET @SELECT = &#039;SELECT COUNT(&#039;
           	+ @Col_Name +
           	&#039; ) as Row_Count INTO ##tempL From &#039;
            + @Db_Name +     
            + @Table_Name +
           	&#039; Where &#039;
           	+ @Col_Name +
           	&#039;  &#039;&#039;0&#039;&#039;	and CONVERT(VARCHAR(20), &#039;
           	+ @Col_Name +
           	&#039; )  IS NOT NULL	
           	and CONVERT(VARCHAR(20), &#039;
           	+ @Col_Name +
           	&#039; )   &#039;&#039;N/A&#039;&#039;   &#039;

			END
      ELSE
      BEGIN
      		SET @SELECT = &#039;SELECT COUNT(&#039;
           	+ @Col_Name +
           	&#039; ) as Row_Count INTO ##tempL From &#039;
           	+ @Db_Name +      
            + @Table_Name +
           	&#039; Where &#039;
           	+ @Col_Name +
           	&#039;  0	and CONVERT(VARCHAR(20), &#039;
           	+ @Col_Name +
           	&#039; )  IS NOT NULL	
           	AND CONVERT(VARCHAR(20), &#039;
           	+ @Col_Name +
           	&#039; )   &#039;&#039;N/A&#039;&#039;   &#039;

	  END

	EXEC (@SELECT) -- if column is string will be error

	IF  (SELECT Row_Count FROM ##tempL) &gt; 0
	    	SET @Flag = &#039;Y&#039;
	ELSE
       		SET @Flag = &#039;N&#039;

	WHILE @Flag = &#039;Y&#039; -- OR @Flag = &#039;N&#039;
       	BEGIN
           IF EXISTS(SELECT TOP 1 Err_Log_Id FROM MAS.dbo.TErrLog WHERE @Col_Name LIKE &#039;%_Id&#039;)
         --use MAS.mas.dbo.TERRLOG because check only @Col_name
			BEGIN
	            SET @Flag = &#039;N&#039;
       	   		BREAK
 		    END
           ELSE BREAK
        END
        
	DROP TABLE ##TempL --Drop Temp Table
    
    UPDATE MTI SET Show_Flag = @Flag --, Template_Id = &#039;99&#039; -- Test 77  &gt;  , Template_Id = &#039;99&#039;
	FROM MAS.dbo.MTemplateItem AS MTI
    WHERE MTI.Col_Name = @Col_Name
    AND Template_Id = @Template_Id
          
	END

	  ELSE
  	    BEGIN
    	  
          IF @Data_Type = &#039;varchar&#039; OR @Data_Type = &#039;char&#039; 

			BEGIN
        	SET @SELECT = &#039;SELECT  COUNT(&#039;
           	+ @Col_Name +
           	&#039; ) as Row_Count INTO ##tempL From &#039;
           	+ @Db_Name +      
            + @Table_Name +
           	&#039; Where &#039;
           	+ @Col_Name +
           	&#039;  &#039;&#039;0&#039;&#039;	and CONVERT(VARCHAR(20), &#039;
           	+ @Col_Name +
           	&#039; )  IS NOT NULL	
           	AND CONVERT(VARCHAR(20), &#039;
           	+ @Col_Name +
           	&#039; )   &#039;&#039;N/A&#039;&#039;   &#039;

			END
          ELSE
       		BEGIN
        	SET @SELECT = &#039;SELECT  COUNT(&#039;
           	+ @Col_Name +
           	&#039; ) as Row_Count INTO ##tempL From &#039;
           	+ @Db_Name +    
            + @Table_Name +
           	&#039; Where &#039;
           	+ @Col_Name +
           	&#039;  0	and CONVERT(VARCHAR(20), &#039;
           	+ @Col_Name +
           	&#039; )  IS NOT NULL	
           	AND CONVERT(VARCHAR(20), &#039;
           	+ @Col_Name +
           	&#039; )   &#039;&#039;N/A&#039;&#039;   &#039;

			END

		EXEC (@SELECT)
              
       		IF  (SELECT Row_Count FROM ##tempL) &gt; 0
		    	SET @Flag = &#039;Y&#039;
   
  			ELSE
          		SET @Flag = &#039;N&#039;

		WHILE @Flag = &#039;Y&#039; -- OR @Flag = &#039;N&#039;
        	BEGIN
				IF EXISTS(SELECT TOP 1 Err_Log_Id FROM MAS.dbo.TErrLog WHERE @Col_Name LIKE &#039;%_Id&#039;)

					BEGIN
	                    SET @Flag = &#039;N&#039;
              	   		BREAK
		 		   	END
	            ELSE BREAK
        END

		DROP TABLE ##TEMPL
        UPDATE MTI SET Show_Flag = @Flag --, Template_Id = &#039;99&#039;-- Test &gt;  , Template_Id = &#039;99&#039;
		FROM MAS.dbo.MTemplateItem AS MTI
        WHERE MTI.Col_Name = @Col_Name
        AND Template_Id = @Template_Id
      	END

	FETCH NEXT FROM MTEMPLATEITEM_COL_NAME
     INTO @Col_Name, @Data_Type
     

END

CLOSE MTEMPLATEITEM_COL_NAME
DEALLOCATE MTEMPLATEITEM_COL_NAME

END TRY
  BEGIN CATCH
BEGIN TRY
      INSERT INTO MAS.dbo.TErrLog
             (Com_Id,   Usr_Id,  Obj_Id,  Dep_Id, Err_Datetime, Err_No,         Err_Line,      Err_Base_Proc,   Err_Proc,          Err_Message,      Status_Flag, Resolve_By, Resolve_Date)
      VALUES (@Com_Id, @Usr_Id, @Obj_Id, @Dep_Id, GETDATE(),    ERROR_NUMBER(), ERROR_LINE(), &#039;usp_UpdShowFlag&#039;, ERROR_PROCEDURE(), ERROR_MESSAGE(), &#039;N&#039;,          null,       null)
    END TRY
    BEGIN CATCH
      INSERT INTO MAS.dbo.TErrLog
             (Com_Id,   Usr_Id,  Obj_Id,  Dep_Id, Err_Datetime, Err_No,         Err_Line,      Err_Base_Proc,   Err_Proc,                  Err_Message,      Status_Flag, Resolve_By, Resolve_Date)
      VALUES (@Com_Id, @Usr_Id, @Obj_Id, @Dep_Id, GETDATE(),    ERROR_NUMBER(), ERROR_LINE(), &#039;usp_UpdShowFlag&#039;, &#039;INSERT INTO MAS.mas.dbo.TErrLog&#039;, ERROR_MESSAGE(), &#039;N&#039;,          null,       null)
    END CATCH
  END CATCH
END</description>
		<content:encoded><![CDATA[<p>บอกจุดประสงค์ดีกว่า คือผมต้องการจะ Check Field ทั้งหมดว่า Field ไหน</p>
<p>เป็น 0, &#8216;N/A&#8217;, NULL ผมจะไปบังคับให้เวลาดึงไปที่โปรแกรมไม่โชก็คือ</p>
<p>set @Flag = &#8216;N&#8217; อะครับ ตอนนี้ที่ base เดียวกัน ทำได้แล้ว</p>
<p>แต่ติดเมื่อนำ procedure ไปวางที่อื่น แล้วจะ check ข้าม Base  </p>
<p>ถ้าทำไม่ได้จริงๆ คงต้อง manual script เอาละครับ</p>
<p>ส่วนนี่เป็น procedure ที่เขียนไว้</p>
<p>CREATE PROCEDURE usp_UpdShowFlag<br />
                @Com_Id      INT,<br />
                @Dep_Id      INT,<br />
                @Obj_Id      INT,<br />
                @Usr_Id      INT,<br />
                @Level_Id    INT,<br />
                @Template_Id INT,<br />
                @Db_Name	 VARCHAR(100),<br />
                @Table_Name  VARCHAR(8000)</p>
<p>AS<br />
  BEGIN<br />
    DECLARE  @Col_Name 		VARCHAR(1000)<br />
    DECLARE  @Data_Type		VARCHAR(1000)<br />
    DECLARE  @SELECT 		VARCHAR(8000)<br />
	DECLARE  @First_Rec 	VARCHAR(1)<br />
	DECLARE  @Flag 			VARCHAR(1)</p>
<p>BEGIN TRY</p>
<p>DECLARE MTEMPLATEITEM_COL_NAME CURSOR  FOR<br />
        SELECT B.NAME  AS COLUMN_NAME ,   C.NAME  AS TYPE<br />
		FROM SYSOBJECTS A,SYSCOLUMNS B,SYSTYPES C<br />
		WHERE A.ID = B.ID  AND A.XTYPE = &#8216;U&#8217; AND A.NAME IN (@Table_Name) AND<br />
		B.XUSERTYPE = C.XUSERTYPE</p>
<p>OPEN MTEMPLATEITEM_COL_NAME</p>
<p>SET @First_Rec = &#8216;Y&#8217;</p>
<p>FETCH NEXT FROM MTEMPLATEITEM_COL_NAME<br />
      INTO @Col_Name, @Data_Type</p>
<p>WHILE @@FETCH_STATUS = 0<br />
  BEGIN<br />
      IF  @First_Rec  = &#8216;Y&#8217;<br />
      BEGIN<br />
          SET @First_Rec  = &#8216;N&#8217;</p>
<p>		   &#8212; IF @Data_Type = &#8216;varchar&#8217; &#8212; Before Update 14/11/52<br />
           IF @Data_Type = &#8216;varchar&#8217; OR @Data_Type = &#8216;char&#8217; </p>
<p>			BEGIN<br />
        	SET @SELECT = &#8216;SELECT COUNT(&#8216;<br />
           	+ @Col_Name +<br />
           	&#8216; ) as Row_Count INTO ##tempL From &#8216;<br />
            + @Db_Name +<br />
            + @Table_Name +<br />
           	&#8216; Where &#8216;<br />
           	+ @Col_Name +<br />
           	&#8216;  &#8221;0&#8221;	and CONVERT(VARCHAR(20), &#8216;<br />
           	+ @Col_Name +<br />
           	&#8216; )  IS NOT NULL<br />
           	and CONVERT(VARCHAR(20), &#8216;<br />
           	+ @Col_Name +<br />
           	&#8216; )   &#8221;N/A&#8221;   &#8216;</p>
<p>			END<br />
      ELSE<br />
      BEGIN<br />
      		SET @SELECT = &#8216;SELECT COUNT(&#8216;<br />
           	+ @Col_Name +<br />
           	&#8216; ) as Row_Count INTO ##tempL From &#8216;<br />
           	+ @Db_Name +<br />
            + @Table_Name +<br />
           	&#8216; Where &#8216;<br />
           	+ @Col_Name +<br />
           	&#8216;  0	and CONVERT(VARCHAR(20), &#8216;<br />
           	+ @Col_Name +<br />
           	&#8216; )  IS NOT NULL<br />
           	AND CONVERT(VARCHAR(20), &#8216;<br />
           	+ @Col_Name +<br />
           	&#8216; )   &#8221;N/A&#8221;   &#8216;</p>
<p>	  END</p>
<p>	EXEC (@SELECT) &#8212; if column is string will be error</p>
<p>	IF  (SELECT Row_Count FROM ##tempL) &gt; 0<br />
	    	SET @Flag = &#8216;Y&#8217;<br />
	ELSE<br />
       		SET @Flag = &#8216;N&#8217;</p>
<p>	WHILE @Flag = &#8216;Y&#8217; &#8212; OR @Flag = &#8216;N&#8217;<br />
       	BEGIN<br />
           IF EXISTS(SELECT TOP 1 Err_Log_Id FROM MAS.dbo.TErrLog WHERE @Col_Name LIKE &#8216;%_Id&#8217;)<br />
         &#8211;use MAS.mas.dbo.TERRLOG because check only @Col_name<br />
			BEGIN<br />
	            SET @Flag = &#8216;N&#8217;<br />
       	   		BREAK<br />
 		    END<br />
           ELSE BREAK<br />
        END</p>
<p>	DROP TABLE ##TempL &#8211;Drop Temp Table</p>
<p>    UPDATE MTI SET Show_Flag = @Flag &#8211;, Template_Id = &#8217;99&#8242; &#8212; Test 77  &gt;  , Template_Id = &#8217;99&#8242;<br />
	FROM MAS.dbo.MTemplateItem AS MTI<br />
    WHERE MTI.Col_Name = @Col_Name<br />
    AND Template_Id = @Template_Id</p>
<p>	END</p>
<p>	  ELSE<br />
  	    BEGIN</p>
<p>          IF @Data_Type = &#8216;varchar&#8217; OR @Data_Type = &#8216;char&#8217; </p>
<p>			BEGIN<br />
        	SET @SELECT = &#8216;SELECT  COUNT(&#8216;<br />
           	+ @Col_Name +<br />
           	&#8216; ) as Row_Count INTO ##tempL From &#8216;<br />
           	+ @Db_Name +<br />
            + @Table_Name +<br />
           	&#8216; Where &#8216;<br />
           	+ @Col_Name +<br />
           	&#8216;  &#8221;0&#8221;	and CONVERT(VARCHAR(20), &#8216;<br />
           	+ @Col_Name +<br />
           	&#8216; )  IS NOT NULL<br />
           	AND CONVERT(VARCHAR(20), &#8216;<br />
           	+ @Col_Name +<br />
           	&#8216; )   &#8221;N/A&#8221;   &#8216;</p>
<p>			END<br />
          ELSE<br />
       		BEGIN<br />
        	SET @SELECT = &#8216;SELECT  COUNT(&#8216;<br />
           	+ @Col_Name +<br />
           	&#8216; ) as Row_Count INTO ##tempL From &#8216;<br />
           	+ @Db_Name +<br />
            + @Table_Name +<br />
           	&#8216; Where &#8216;<br />
           	+ @Col_Name +<br />
           	&#8216;  0	and CONVERT(VARCHAR(20), &#8216;<br />
           	+ @Col_Name +<br />
           	&#8216; )  IS NOT NULL<br />
           	AND CONVERT(VARCHAR(20), &#8216;<br />
           	+ @Col_Name +<br />
           	&#8216; )   &#8221;N/A&#8221;   &#8216;</p>
<p>			END</p>
<p>		EXEC (@SELECT)</p>
<p>       		IF  (SELECT Row_Count FROM ##tempL) &gt; 0<br />
		    	SET @Flag = &#8216;Y&#8217;</p>
<p>  			ELSE<br />
          		SET @Flag = &#8216;N&#8217;</p>
<p>		WHILE @Flag = &#8216;Y&#8217; &#8212; OR @Flag = &#8216;N&#8217;<br />
        	BEGIN<br />
				IF EXISTS(SELECT TOP 1 Err_Log_Id FROM MAS.dbo.TErrLog WHERE @Col_Name LIKE &#8216;%_Id&#8217;)</p>
<p>					BEGIN<br />
	                    SET @Flag = &#8216;N&#8217;<br />
              	   		BREAK<br />
		 		   	END<br />
	            ELSE BREAK<br />
        END</p>
<p>		DROP TABLE ##TEMPL<br />
        UPDATE MTI SET Show_Flag = @Flag &#8211;, Template_Id = &#8217;99&#8242;&#8211; Test &gt;  , Template_Id = &#8217;99&#8242;<br />
		FROM MAS.dbo.MTemplateItem AS MTI<br />
        WHERE MTI.Col_Name = @Col_Name<br />
        AND Template_Id = @Template_Id<br />
      	END</p>
<p>	FETCH NEXT FROM MTEMPLATEITEM_COL_NAME<br />
     INTO @Col_Name, @Data_Type</p>
<p>END</p>
<p>CLOSE MTEMPLATEITEM_COL_NAME<br />
DEALLOCATE MTEMPLATEITEM_COL_NAME</p>
<p>END TRY<br />
  BEGIN CATCH<br />
BEGIN TRY<br />
      INSERT INTO MAS.dbo.TErrLog<br />
             (Com_Id,   Usr_Id,  Obj_Id,  Dep_Id, Err_Datetime, Err_No,         Err_Line,      Err_Base_Proc,   Err_Proc,          Err_Message,      Status_Flag, Resolve_By, Resolve_Date)<br />
      VALUES (@Com_Id, @Usr_Id, @Obj_Id, @Dep_Id, GETDATE(),    ERROR_NUMBER(), ERROR_LINE(), &#8216;usp_UpdShowFlag&#8217;, ERROR_PROCEDURE(), ERROR_MESSAGE(), &#8216;N&#8217;,          null,       null)<br />
    END TRY<br />
    BEGIN CATCH<br />
      INSERT INTO MAS.dbo.TErrLog<br />
             (Com_Id,   Usr_Id,  Obj_Id,  Dep_Id, Err_Datetime, Err_No,         Err_Line,      Err_Base_Proc,   Err_Proc,                  Err_Message,      Status_Flag, Resolve_By, Resolve_Date)<br />
      VALUES (@Com_Id, @Usr_Id, @Obj_Id, @Dep_Id, GETDATE(),    ERROR_NUMBER(), ERROR_LINE(), &#8216;usp_UpdShowFlag&#8217;, &#8216;INSERT INTO MAS.mas.dbo.TErrLog&#8217;, ERROR_MESSAGE(), &#8216;N&#8217;,          null,       null)<br />
    END CATCH<br />
  END CATCH<br />
END</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Game-Mun.com</title>
		<link>http://www.nop.in.th/database/mssql/script-%e0%b8%aa%e0%b8%a3%e0%b9%89%e0%b8%b2%e0%b8%87-datadict-%e0%b8%aa%e0%b8%b3%e0%b8%ab%e0%b8%a3%e0%b8%b1%e0%b8%9a-mssql/comment-page-1/#comment-301</link>
		<dc:creator>Game-Mun.com</dc:creator>
		<pubDate>Tue, 25 Nov 2008 10:29:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.nop.in.th/?p=198#comment-301</guid>
		<description>ใช้ได้หมดแล้วครับ แต่ตอนนี้เจอปัญหาใหม่

คือผมต้องการจะ ฝัง procedure ไว้อีก db นึง และให้มันมาเรียกอีก db นึง

แต่ใช้ คำสั่งนี้ มันจะไม่ได้ เพราะมันข้าม db มีวิธีเปลี่ยนแปลง script รึเปล่าครับ

SELECT B.NAME  AS COLUMN_NAME , C.NAME  AS TYPE
	FROM SYSOBJECTS A,SYSCOLUMNS B,SYSTYPES C
	WHERE A.ID = B.ID  AND A.XTYPE = &#039;U&#039; AND A.NAME = &#039;BI.BI_SAL.dbo.BsaleProdMth&#039; AND
	B.XUSERTYPE = C.XUSERTYPE

script นี้ถ้าใช้กับ table ใน base ตัวเองได้ครับ แต่ผมจะเอาไปใช้ดึงค่า column จาก base อื่นมา
BI.BI_SAL.dbo.BsaleProdMth อยู่อีก base จึง link server ด้วย BI</description>
		<content:encoded><![CDATA[<p>ใช้ได้หมดแล้วครับ แต่ตอนนี้เจอปัญหาใหม่</p>
<p>คือผมต้องการจะ ฝัง procedure ไว้อีก db นึง และให้มันมาเรียกอีก db นึง</p>
<p>แต่ใช้ คำสั่งนี้ มันจะไม่ได้ เพราะมันข้าม db มีวิธีเปลี่ยนแปลง script รึเปล่าครับ</p>
<p>SELECT B.NAME  AS COLUMN_NAME , C.NAME  AS TYPE<br />
	FROM SYSOBJECTS A,SYSCOLUMNS B,SYSTYPES C<br />
	WHERE A.ID = B.ID  AND A.XTYPE = &#8216;U&#8217; AND A.NAME = &#8216;BI.BI_SAL.dbo.BsaleProdMth&#8217; AND<br />
	B.XUSERTYPE = C.XUSERTYPE</p>
<p>script นี้ถ้าใช้กับ table ใน base ตัวเองได้ครับ แต่ผมจะเอาไปใช้ดึงค่า column จาก base อื่นมา<br />
BI.BI_SAL.dbo.BsaleProdMth อยู่อีก base จึง link server ด้วย BI</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: นพ</title>
		<link>http://www.nop.in.th/database/mssql/script-%e0%b8%aa%e0%b8%a3%e0%b9%89%e0%b8%b2%e0%b8%87-datadict-%e0%b8%aa%e0%b8%b3%e0%b8%ab%e0%b8%a3%e0%b8%b1%e0%b8%9a-mssql/comment-page-1/#comment-225</link>
		<dc:creator>นพ</dc:creator>
		<pubDate>Thu, 06 Nov 2008 01:41:18 +0000</pubDate>
		<guid isPermaLink="false">http://www.nop.in.th/?p=198#comment-225</guid>
		<description>ผมว่าเอา select * (select * from a where b = c) as e ได้เปล่าอะคัพ คือเอาไปคร่อม แล้วค่อย where ตอนค่อมอะคัพ</description>
		<content:encoded><![CDATA[<p>ผมว่าเอา select * (select * from a where b = c) as e ได้เปล่าอะคัพ คือเอาไปคร่อม แล้วค่อย where ตอนค่อมอะคัพ</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Game-Mun.com</title>
		<link>http://www.nop.in.th/database/mssql/script-%e0%b8%aa%e0%b8%a3%e0%b9%89%e0%b8%b2%e0%b8%87-datadict-%e0%b8%aa%e0%b8%b3%e0%b8%ab%e0%b8%a3%e0%b8%b1%e0%b8%9a-mssql/comment-page-1/#comment-222</link>
		<dc:creator>Game-Mun.com</dc:creator>
		<pubDate>Wed, 05 Nov 2008 03:48:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.nop.in.th/?p=198#comment-222</guid>
		<description>คือตรงส่วนนี้ผมทำได้แล้ว แต่จะเอา Colum ที่ได้

ไปตรวจสอบอีกทีว่า Colum ไหน มีค่า 

โดยใช้ Cursor เก็บเข้าไปที่ @Col_Name

where

@Col_Name &lt;. 0

and @Col_Name IS NOT NULL

and @Col_Name  &#039;N/A&#039;

แล้วมันไม่ได้อะครับ จะทำยังไงดี</description>
		<content:encoded><![CDATA[<p>คือตรงส่วนนี้ผมทำได้แล้ว แต่จะเอา Colum ที่ได้</p>
<p>ไปตรวจสอบอีกทีว่า Colum ไหน มีค่า </p>
<p>โดยใช้ Cursor เก็บเข้าไปที่ @Col_Name</p>
<p>where</p>
<p>@Col_Name &lt;. 0</p>
<p>and @Col_Name IS NOT NULL</p>
<p>and @Col_Name  &#8216;N/A&#8217;</p>
<p>แล้วมันไม่ได้อะครับ จะทำยังไงดี</p>
]]></content:encoded>
	</item>
</channel>
</rss>
