转载---得到表的字段名称

原创 2007年09月15日 11:40:00

/*
Creater:Kern
Date:2007-08-03
Function:构建查询语句列字段
Modify:1.增加排序处理,使输出结果与表单列结构一致;2.增加换行处理每8个字段换行一次(2007-08-08 by kern)
Remark:辅助开发存储过程
*/
CREATE procedure dbo.CCS
 @Prefix varchar(10)='', --前缀
 @TableName varchar(100), --表名
 @Select int=0   --是否生成Select语句,参数1为生成,0为不生成
AS

declare
  @ColumName varchar(50),
  @ExecStr varchar(2000),
  @CreateStr varchar(2000),
  @NewLine int

Set @CreateStr=''
--Set @ExecStr='select name into ##Tmp from syscolumns where OBJECTPROPERTY(id, N''IsUserTable'') = 1 and id = object_id(N''[dbo].[' + @TableName + ']'')'
Set @ExecStr='select name into ##Tmp from syscolumns where id = object_id(N''[dbo].[' + @TableName + ']'') order by colid'
execute(@ExecStr)

set @NewLine=1

declare ColumsStrs cursor for
  select name from ##Tmp
open ColumsStrs
fetch next from ColumsStrs into @ColumName
while @@fetch_status=0
begin
  if @Prefix<>'' set @ColumName=@Prefix+'.'+@ColumName
  Set @CreateStr=@CreateStr + @ColumName + ','
  if @NewLine=8
  begin
    set @CreateStr=@CreateStr + convert(varchar,0x0A)
    set @NewLine=0
  end
  set @NewLine = @NewLine + 1
  fetch next from ColumsStrs into @ColumName
end
close ColumsStrs
deallocate ColumsStrs

if @Select=1
begin
  if @Prefix<>''
  begin
    Set @CreateStr='select ' + substring(@CreateStr, 1, len(@CreateStr)-1) + convert(varchar,0x0A) + 'from ' + @TableName + ' ' + @Prefix
  end
  else
  begin
    Set @CreateStr='select ' + substring(@CreateStr, 1, len(@CreateStr)-1) + convert(varchar,0x0A) + 'from ' + @TableName
  end
end

print @CreateStr

drop table ##Tmp
GO
 

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Oracle表名称和字段名称区分大小写

Oracle表名称和字段名称带引号创建时,会区分大小写       用Oracle的GUI工具创建数据库表时 给表名称加上双引号,则表名称区分大小写,如果输入包含小写字母,再用时,也必须加上双引...

PL/SQL函数的传入参数名称要规范,不能和函数内使用到的表的字段名称一样,否则会出错(带例子)

参数的命名规范是需要注意的,否则PL/SQL体可能会出错。

Java 通过JDBC查询数据库表结构(字段名称,类型,长度等)

我们如何知道,我们访问的数据库的表,有哪些字段,字段的类型是什么,长度限制是什么? 在实际工作中,我就遇到过,要做动态sql,比如insert,如果是数字就不要加引号,如果是字符就要加引号,还比...

php获取mysql字段名称和其它信息的例子

这篇文章主要介绍了php获取mysql字段名称和其它信息的例子,需要的朋友可以参考下 首先我们需要了解下查询MySQL数据库/表相关信息的SQL语句: DATABASES ...

“关于使用反射机制得到泛型的字段名的问题”的解答

一、问题 在之前的“关于使用反射机制得到泛型的字段名的问题”博客当中提到了问题,终于在看了《Effective Java》之后有所理解。 问题回顾 1、实体类 public class L...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)