zoukankan      html  css  js  c++  java
  • select * 替换写法

    实际开发中经常用到select * from table,往往需要知道具体的字段,这个时候再去数据库中翻或者查看数据字典比较麻烦。为了方便,自己特意写了一个小函数,只针对sqlserver哦。

     以下为函数代码:      

    create function f_selectall
    (   
        @ptablename VARCHAR(50),----表名 如SA_WL_LYTZ
        @split VARCHAR(50)  -----别名,如a
    )
    RETURNS VARCHAR(3000) 
    as
    BEGIN
        declare @split1 VARCHAR(50);
        declare @split2 VARCHAR(50);
        declare @sreturn VARCHAR(3000);
    
        if(@split is null)
          set @split1= ''
       ELSE
        set @split1= @split --select ltrim(RTRIM(@split)) 
    
        if( @split1 <> '')
              set @split2 = @split1+'.';
        ELSE
            set @split2 = @split1 ;
    
          set @sreturn = (select 'select '+cols+' from '+TABLE_NAME+' '+@split1 from 
                      (SELECT   DISTINCT TABLE_NAME,STUFF((SELECT ','+@split2+ COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS 
                      WHERE TABLE_NAME = A.TABLE_NAME FOR XML PATH('')),1,1,'') AS cols
                      FROM INFORMATION_SCHEMA.COLUMNS  AS A
                      where table_name = UPPER(@ptablename)) t);
    
        RETURN @sreturn
    END
    

     使用的时候只需: select  dbo.f_selectall('TABLE','a') ,即可。

       输出结果为:select a.col1,a.col2,a.col3 from TABLE a ;

       完美代替 select a.* from table a ;

       如果不想用别名a,直接空着即可。

       自用小工具,仅仅方便使用。

  • 相关阅读:
    ajax
    cookie
    JavaScript基本语法
    HTML css 格式布局
    HTML 表单
    html 一般标签 常用标签 表格
    WinForm——操作word文档
    WinForm进程 线程
    音乐
    注册 传值
  • 原文地址:https://www.cnblogs.com/iceriver315/p/9685562.html
Copyright © 2011-2022 走看看