COALESCE在SQL拼接中的大用途

SQL拼接可以使得代码比较灵活,不会那么死板,对于维护也比较方便。

下面是简单的SQL拼接,同时也包含了隐式游标的概念吧,可以遍历表中的每一个字段

--------------------------------SQL拼接的精华
-----测试表一:
--DROP TABLE Test
CREATE TABLE  Test(pNo VARCHAR(20),NAME VARCHAR(20));

-----测试表二:
CREATE TABLE  Test_tmp(pNo VARCHAR(20),NAME VARCHAR(20));

-----测试数据插入  
INSERT INTO Test Select '1','JACK'

INSERT INTO Test select '2','josn'

--------------------------使用动态SQL拼接实现SQL块的复用性

DECLARE 
      @SQL        VARCHAR(MAX),
      @TabName    VARCHAR(100)
      
SET @TabName='Test_tmp' 
       
SELECT  @SQL=COALESCE(@SQL,'')+'INSERT INTO '+@TabName+' SELECT '''+pNo+''','''+NAME+''';'+char(10) FROM Test
PRINT @SQL
----------------执行SQL
EXEC(@SQL)


Select * From Test_tmp

查询结果为:

 

posted @ 2016-01-04 17:03  OLIVER_QIN  阅读(673)  评论(0编辑  收藏  举报