自动建表 2
来源:互联网 发布:淘宝人像摄影布光 编辑:程序博客网 时间:2024/05/03 01:31
/*
declare @Name varchar(20)
set @Name = ''
exec dbo.p_CreateYXRZTable @s_tablename='WWdcctrl12',@int=30,@dec=5,@strSm=0,@strMi=0,@strBig=0,@text=0,@message = @Name out
select @Name
*/
CREATE proc dbo.p_CreateYXRZTable
@s_tablename varchar(100),
@int int = null,
@dec int = null,
@strSm int = null,
@strMi int = null,
@strBig int = null,
@text int = null,
@Message int=null Output
as
/*---------------------------------------------------------------------------------------------------------------
----------过程传入的是一种数据类型的个数,@s_用来存储新增列的信息
---------------------------------------------------------------------------------------------------------------*/
declare @s_int varchar(8000),@s_Decimal varchar(8000),@s_StrSm varchar(8000),@s_StrMi varchar(8000),@s_StrBig varchar(8000),@s_Text varchar(8000),@s_defultB varchar(1000),@s_defultE varchar(1000)
declare @i int,@iFlag int
select @s_Decimal = '',@s_int = '',@s_StrSm = '',@s_StrMi = '',@s_StrBig = '',@s_Text = '',@s_defultB = '',@s_defultE = ''
select @int = isnull(@int,0),@dec = isnull(@dec,0),@strSm = isnull(@strSm,0),@strMi = isnull(@strMi,0),@Text = isnull(@Text,0),@strBig = isnull(@strBig,0)
--生成数据表名称
set @s_tablename='tbYXRZ' + @s_tablename
--判断目标数据库是否已经存在要生成的数据表,在没有重名的情况下进行新加表处理
if not exists(select 1 from sysobjects where id=object_id(@s_tablename) and type='u')
begin
--表头表尾字段处理
set @s_defultB = 'CREATE TABLE ['+ @s_tablename +'] (
[yxID] [int] IDENTITY (1, 1) NOT NULL ,
[reportDate] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[jz] [int] NULL ,
[bz] [int] NULL ,
[bc] [int] NULL ,
[tq] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,
[zbry] [varchar] (200) COLLATE Chinese_PRC_CI_AS NULL ,
[jjman1] [varchar] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[jjtime1] [datetime] NULL ,
[jjman2] [varchar] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[jjtime2] [datetime] NULL ,
[CreateTime] [datetime] NULL ,
[modifyman] [varchar] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[modifyTime] [datetime] NULL ,
[Data] [image] NULL ,
[yxjs] [text] COLLATE Chinese_PRC_CI_AS NULL ,
[jdsx] [text] COLLATE Chinese_PRC_CI_AS NULL ,'
set @s_defultE = 'CONSTRAINT [PK_'+@s_tablename+'] PRIMARY KEY CLUSTERED
(
[yxID] DESC
) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]'
--------------------
--数据表字段语句生成
--------------------
set @i=1
while @int >= @i begin
set @s_int = @s_int + '[Int' + right(1000 + @i,3) + '] [int] NULL ,'
set @i = @i + 1
end
set @i=1
while @dec >= @i begin
set @s_Decimal = @s_Decimal + '[Dec' + right(1000 + @i,3) + '] [decimal](18, 4) NULL ,'
set @i = @i + 1
end
set @i=1
while @strSm >= @i begin
--set @s_StrSm = @s_StrSm + '[StrSm' + right(1000 + @i,3) + '] [varchar] (10) COLLATE Chinese_PRC_CI_AS NULL ,'
set @s_StrSm = @s_StrSm + '[StrSm' + right(1000 + @i,3) + '] [varchar] (10) ,'
set @i = @i + 1
end
set @i=1
while @strMi >= @i begin
--set @s_StrMi = @s_StrMi + '[StrMi' + right(1000 + @i,3) + '] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,'
set @s_StrMi = @s_StrMi + '[StrMi' + right(1000 + @i,3) + '] [varchar] (50) ,'
set @i = @i + 1
end
set @i=1
while @strBig >= @i begin
--set @s_StrBig = @s_StrBig + '[StrBig' + right(1000 + @i,3) + '] [varchar] (500) COLLATE Chinese_PRC_CI_AS NULL ,'
set @s_StrBig = @s_StrBig + '[StrBig' + right(1000 + @i,3) + '] [varchar] (500) ,'
set @i = @i + 1
end
set @i=1
while @text >= @i begin
set @s_Text = @s_Text + '[Text' + right(1000 + @i,3) + '] [text] COLLATE Chinese_PRC_CI_AS NULL ,'
set @i = @i + 1
end
--------------------
--数据表创建
--------------------
exec(@s_defultB + @s_int + @s_Decimal + @s_StrSm + @s_StrMi + @s_StrBig + @s_Text + @s_defultE)
end
else
--@message=1表示数据库中已经存在同名数据表
set @message=1
GO
- 自动建表 2
- 分区建表2(自动分区)
- 自动建表 1
- Hibernate 自动建表
- 自动建表
- oracle 自动建表
- hibernate自动建表
- 自动建表
- Hibernate自动建表
- Hibernate自动建表
- oracle 自动建表
- Hibernate自动建表
- hibenate自动建表
- hibernate自动建表
- Hibernate自动建表
- SSH自动建表
- Android 自动建表
- hibernate 自动建表
- 详细介绍用JBuilder9开发的Struts实例
- 背包问题(递归)
- 表结构复制
- 用ActionForward优化你的Struts应用程序
- 自动建表 1
- 自动建表 2
- 美国人收入大曝光
- JSP流行模板Struts的安装配置
- 创建Web应用和Struts框架的配置文件
- 自动插数 1
- 自动插数 2
- "支持开源 抵制盗版"主题活动在杭州西湖开展·[图]
- 终于可以使用Kscope了
- JSP通过JDBC与Oracle相连