zoukankan      html  css  js  c++  java
  • 根据表名生成表结构 含 主键


    ----------------------------------------
    -- 根据表名生成表结构 含 主键
    ----------------------------------------
    declare @TableName varchar(255)
    set @TableName = 'bao_color' --'company'
    ----------------------------------------
    declare @str varchar(max)         
    set @str = ''         
    select @str = @str + char(9) +',[' + cols.name + '] '       
    + type.name   
    + ( case when cols.xtype in (165,167,173,175,231,239)        
          then '('+ convert(varchar(10) , cols.prec) + ')'          
          when cols.xtype in (106,108)         
       then '('+ convert(varchar(10) , cols.prec)+' , ' + convert(varchar(10) ,cols.scale)+ ')'          
           else '' end )     
    + case when cols.isnullable = 1 then '' else ' not null ' end          
    + char(13) + char(10)          
    from syscolumns cols        
    inner join systypes type        
    on cols.xtype = type.xtype and cols.xtype = type.xusertype         
    where cols.id = (select id from sysobjects where name = @TableName)         
           
     Declare @objectid int , @pkstr varchar(max)
     Set @objectid=object_id(@TableName)
     set @pkstr = ''
     Select   @pkstr = @pkstr +  col_name(@objectid,colid)  + ' ASC,'
     From  sysobjects         as o
     Inner Join sysindexes    as i On i.name=o.name
     Inner Join sysindexkeys  as k On k.indid=i.indid
     Where  o.xtype = 'PK' and parent_obj=@objectid and k.id=@objectid

    set @pkstr = ISNULL(@pkstr ,'')

    set @pkstr = case when @pkstr = '' then '' else SUBSTRING(@pkstr,1, LEN(@pkstr)-1) end

             
    set @str = 'create table dbo.' + @TableName + '('+ char(13) + char(10) + char(9)
            +substring(@str,3,len(@str)-1) + char(13) + char(10)
            + case when @pkstr='' then ''
            else  '    PRIMARY KEY CLUSTERED     ( '+ char(13) + char(10)
                     + char(9) ++ @pkstr + char(13) + char(10)
                     + char(9) ++ ')ON [PRIMARY]'+ char(13) + char(10)
            end
            + ')'         
           
    print @str     



       

  • 相关阅读:
    Android5.0 Gallery2上编译Gallery模块出错
    Ubuntu Linux系统下的SVN客户端工具PySVN
    ubuntu下如何安装及使用 pysvn-workbench
    系统数据库开启
    Ubuntu下使用SVN
    Ubuntu Linux 环境变量
    android 权限管理和签名 实现静默卸载
    Android系统权限及签名
    Android Security
    《Java程序猿面试笔试宝典》之字符串创建与存储的机制是什么
  • 原文地址:https://www.cnblogs.com/jerron/p/4329136.html
Copyright © 2011-2022 走看看