• SQLSERVER查询单个数据表所有字段名组合成的字符串脚本


    --SQLSERVER查询单个数据表所有字段名组合成的字符串脚本

    --应用场合: 用于生成SQL查询字符串中select 字段名列表1 from table group by 字段名列表2 中的字段名列表1和字段名列表2部分

    --定义数据表名称变量
    Declare @TableName nvarchar(250)
    Set @TableName='您的数据表名称' --这里修改成您要查询的数据表名称

    --定义列总数变量
    Declare @TotalColumns int
    Select @TotalColumns=count(name) from syscolumns Where ID=OBJECT_ID(@TableName)
    print '数据表'+@TableName+'字段总数为:'+Convert(nvarchar(20),@TotalColumns)

    --定义所有字段名称字符串变量
    Declare @ColumnsString nvarchar(4000)
    set @ColumnsString=''

    --定义游标中输出的字段名变量
    Declare @ColumnName nvarchar(255)


    --通过游标读取指定数据表的所有字段

    --声明游标mycursor
    declare mycursor cursor for select name from syscolumns Where ID=OBJECT_ID(@TableName)  order by colid
     
    --打开游标
    open mycursor
     
    --从游标里取出数据赋值到我们刚才声明的字段名变量中
    fetch next from mycursor into @ColumnName
     
    --如果游标执行成功 
    while (@@fetch_status=0)
    begin
     
     --显示出我们每次用游标取出的值
     Set @ColumnsString=@ColumnsString+','+@ColumnName

     --用游标去取下一条记录
        fetch next from mycursor into @ColumnName
    end

    --关闭游标
    close mycursor
    --撤销游标
    deallocate mycursor

    --如果末尾包含逗号则去除
    if left(@ColumnsString,1)=',' set @ColumnsString=substring(@ColumnsString,2,len(@ColumnsString)-1)
    print @ColumnsString

    --多表联合查询
    declare @GroupColumnsString nvarchar(4000) --如果显示不全,这里自己修改更大的数字
    declare @PrefixString nvarchar(255)
    set @PrefixString=@TableName --这里可以修改成你想要的字符串
    set @GroupColumnsString=replace(@ColumnsString,',',','+@PrefixString+'.')
    set @GroupColumnsString=@PrefixString+'.'+@GroupColumnsString
    print @GroupColumnsString

  • 相关阅读:
    Jmeter 跨脚本入参
    Jmeter 查看结果树显示unicode转中文
    jmeter+ant 接口自动化测试框架
    jmeter jmeter.results.shanhe.me.xsl 模板内容
    Jmeter + ant 接口自动化测试(进阶)
    Linux od命令
    Hadoop初识
    tbn tbc tbr
    ffmpeg之avcodec_open2
    ffmpeg之AVStream
  • 原文地址:https://www.cnblogs.com/xqf222/p/3306749.html
Copyright © 2020-2023  润新知