一个可调用某表新增日期列的存储过程
2009-03-07 21:18
134 查看
-->建测试表
create table T1(id int identity,[2009-03-06] varchar(10))
-->创建存储过程
create proc sp_test1
@tb varchar(200)
as
declare @dt table(a varchar(10))
insert @dt
select convert(varchar(10),dateadd(day,fid-1,getdate()),120)
from (select fid=(select count(1) from sysobjects where id<=a.id)
from sysobjects a ) t
where fid<11
if not exists(select 1 from syscolumns where id=object_id(@tb)
and name in (select a from @dt))
begin
declare @s nvarchar(4000)
set @s=''
select @s=@s +'alter table '+ @tb +' add '+ quotename(a) + ' varchar(10);'
from @dt
exec(@s)
end
go
-->调用过程
exec sp_test1 't1'
-->查看结果
select * from t1
/*
id 2009-03-06 2009-03-07 2009-03-08 2009-03-09 2009-03-10 2009-03-11 2009-03-12 2009-03-13 2009-03-14 2009-03-15 2009-03-16
----------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ----------
(10 行受影响)
*/
create table T1(id int identity,[2009-03-06] varchar(10))
-->创建存储过程
create proc sp_test1
@tb varchar(200)
as
declare @dt table(a varchar(10))
insert @dt
select convert(varchar(10),dateadd(day,fid-1,getdate()),120)
from (select fid=(select count(1) from sysobjects where id<=a.id)
from sysobjects a ) t
where fid<11
if not exists(select 1 from syscolumns where id=object_id(@tb)
and name in (select a from @dt))
begin
declare @s nvarchar(4000)
set @s=''
select @s=@s +'alter table '+ @tb +' add '+ quotename(a) + ' varchar(10);'
from @dt
exec(@s)
end
go
-->调用过程
exec sp_test1 't1'
-->查看结果
select * from t1
/*
id 2009-03-06 2009-03-07 2009-03-08 2009-03-09 2009-03-10 2009-03-11 2009-03-12 2009-03-13 2009-03-14 2009-03-15 2009-03-16
----------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ----------
(10 行受影响)
*/
相关文章推荐
- PHP升级到4.3版本之后改变了调用存储过程的一个特性
- 在MSSQL中一个存储过程调用另一个存储过程
- SQL Server一个实例中调用另外一个实例中的存储过程
- 在一个存储过程中调用返回一个游标的另一个存储过程
- 一个简单的oracle分页存储过程的实现和调用
- PHP升级到4.3版本之后改变了调用存储过程的一个特性
- oracle 在一个存储过程中调用另一个返回游标的存储过程
- 一个存储过程在.net中的调用
- java编程调用存储过程中得到新增记录id号的实现方法
- PHP升级到4.3版本之后改变了调用存储过程的一个特性
- 写一个简单的存储过程,并C#调用
- .Nettiers的事件:下拉控件数据绑定,Insert,调用自定存储过程,获取新增ID,事务,DeepLoad,DeepSave,Save,Update,DeepDelete【原创】
- PHP升级到4.3版本之后改变了调用存储过程的一个特性
- 知道一个存储过程名,怎么从众多包中找到有哪几个包有调用
- 关于mysql中设置隔一段事件调用一个存储过程的事件
- PHP升级到4.3版本之后改变了调用存储过程的一个特性
- vb6调用带日期参数的存储过程
- Sql server 跨服务器在一个存储过程sp_A中调用另一个存储过程sp_B
- 一个简单的oracle分页存储过程的实现和调用
- linq入门(2) -- 调用存储过程进行查询,删除,更新,新增