SQL 根据表获取字段字符串
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
SQL 根据表获取字段字符串的更多相关文章
- SQL 把表中字段存储的逗号隔开内容转换成列表形式
原文:[原创]SQL 把表中字段存储的逗号隔开内容转换成列表形式 我们日常开发中,不管是表设计问题抑或是其他什么原因,或多或少都会遇到一张表中有一个字段存储的内容是用逗号隔开的列表. 具体效果如下图: ...
- SQL 查找表名 字段名
转载:http://www.accessoft.com/article-show.asp?id=6135 经常碰到一些忘记表名称的情况,此时只记得个大概,此时可通过查询系统表Sysobjects找到所 ...
- SQL Server表和字段说明的增加和更新
1. 增加字段说明 EXEC sp_addextendedproperty 'MS_Description', 'some description', 'user', ...
- sql server 表2字段更新到表1,mysql
UPDATE kingdee_pro_stock set kingdee_pro_stock.org_name=ERP_BASIC_BILLNO_PREFIX.org_name,kingdee_pro ...
- SQL多表多字段比对方法
目录 表-表比较 整体思路 找出不同字段的明细 T1/T2两表ID相同的部分,是否存在不同NAME 两表的交集与差集:判断两表某些字段是否相同 两表的交集与差集:找出T2表独有的id 字段-字段比较 ...
- 用SQL Server(T-SQL)获取连接字符串
一般情况下,C# 连接SQL Server的字符串可以直接按照说明文档直接手动写出来,或者也可以参考大名鼎鼎的connectionstrings手动拼写 但是如果你已经连接到SQL Server也可以 ...
- [原创]SQL 把表中字段存储的逗号隔开内容转换成列表形式
我们日常开发中,不管是表设计问题抑或是其他什么原因,或多或少都会遇到一张表中有一个字段存储的内容是用逗号隔开的列表. 具体效果如下图: ------> 从左边图转换成右边图,像这种需求,我们难免 ...
- sql修改表名字段名
修改字段: ALTER TABLE user_info CHANGE NAME name VARCHAR(10); 修改表名alter TABLE user_role RENAME user_info ...
- SQL更新表的字段
Oracle: alter table CAPIAGENTLOG modify(clientcode nvarchar2()) SQL Server: alter table CAPIAGENTLOG ...
随机推荐
- [loj#101] 最大流 网络流模板
#101. 最大流 内存限制:512 MiB时间限制:5000 ms标准输入输出 题目类型:传统评测方式:文本比较 上传者: 匿名 提交提交记录统计讨论测试数据 题目描述 这是一道模板题. 给定 ...
- 本地虚拟机在ubuntu系统搭建nexus服务器
本地虚拟机在ubuntu系统上搭建nexus服务器 本地虚拟机在ubuntu系统上搭建nexus服务器所需软件: 虚拟机:VM或者Oracle VM VirtualBox 系统:ubuntu-14.0 ...
- (25)C#windows服务
http://www.cnblogs.com/knowledgesea/p/3616127.html http://jingyan.baidu.com/article/fa4125acb71a8628 ...
- codeforces-103B
题目连接:http://codeforces.com/contest/103/problem/B B. Cthulhu time limit per test 2 seconds memory lim ...
- kibana-metric
1. Visualize 新建图形 2. 选择图形类型 3. 选择索引 4. 设置metric参数 4.1 count 4.2 unique count 5. 保存图形
- Jenkins部署+svn
Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括: 1.持续的软件版本发布/测试项目. 2.监控外部调用执行的工作. 确保java工作环境jdk.tom ...
- 「Codeforces Round #441」 Classroom Watch
Discription Eighth-grader Vova is on duty today in the class. After classes, he went into the office ...
- lua的模式匹配
模式: 字符类:(character classes) . all characters %a letters %c control characters %d digits %l lower -ca ...
- protostuff序列化使用
背景 最近在做项目的时候需要使用持久化功能,1.0版本中使用的akka自带的持久化功能,使用的是akka persist支持的redis插件,在使用的过程中踩了一些坑.因此,在而2.0版本中考虑自己往 ...
- centos更改文件所属用户和用户组
使用命令为chown和chgrp 更改文件夹或者文件的所属用户 chown -R username dirname chown username filename 更改文件夹或者文件的所属用户组 ch ...