在Sql Server中批量增加表字段
提供多语言支持,常见的编码如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。假如我们要为一切的表增加统一个字段,好比增添数据的创立工夫。假如一个一个表的往增加,那真是太贫苦了,上面我们使用游标和altertable语句,一次性为数据量中一切表增加创立工夫CreateDate字段,并为该字段增加默许值为以后工夫。sql语句以下:
declare@tablenamevarchar(50)
declare@sqlvarchar(1000)
declarecu_adcolumncursorforselectnamefromsys.tables
opencu_adcolumn
fetchnextfromcu_adcolumninto@tablename
while(@@fetch_status=0)
begin
set@sql=altertable+@tablename+addCreateDatedatetimedefault(getdate())
execute(@sql)
fetchnextfromcu_adcolumninto@tablename
end
closecu_adcolumn
deallocatecu_adcolumn
以上办法的关头在于:
1,会在sqlserver中利用游标:
关于游标的利用,能够参考本站:
在SqlServer中创立游标示例
2,猎取到数据库中一切表的表名,除利用selectnamefromsys.tables的办法外,人人还能够参考以下文章:
使用SQL语句查询数据库中一切表
3,会利用altertable语法。
好比下面示例顶用到的为表增加一个字段的语法就是:
altertable表名add字段名字段范例
下面示例中只是演示了增加字段的功效,删除字段和修正字段名等办法都是一样的,只需修正execute(@sql)中的@sql界说便可。
本章所触及的都是很基本的sql常识,但愿能给sqlserver初学者带来匡助。使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性 相信各位对数据库和怎么样学习数据库都有一些经验和看法,也会有人走了一些弯路总结出自己的经验来,希望大家能把各自的看法和经验拿出来分享,给别人一份帮助,给自己一份快乐 其实可以做一下类比,Oracle等数据库产品老早就支持了java编程,而且提供了java池参数作为用户配置接口。但是现在有哪些系统大批使用了java存储过程?!连Oracle自己的应用都不用为什么?! 还不是性能有问题!否则面向对象的数据库早就实现了!建议使用CLR的地方一般是和应用的复杂程度或操作系统环境有很高的耦合度的场景。如你想构建复杂的算法,并且用到了大量的指针和高级数据模型。 然后最好有实践机会,能够把实践到的和实践结合起来,其实理论思考是个非常困扰和痛苦的事情 如果是将来做数据库的开发设计,就应该详细学习T-SQL的各种细节,包括T-SQL的程序设计、存储过程、触发器以及具体使用某个开发语言来访问数据库。 个人感觉没有case直观。而且默认的第三字段(还可能更多)作为groupby字段很容易造成新手的错误。 需要注意的一点,也是我使用过程中发现的一个问题。在建立function->schema->table后,如果在现有的分区表上建立没有显式声明的聚集索引时,分区表会自动变为非分区表。这一点很让我纳闷。 SQL语言是学习所有数据库产品的基础,无论你是做数据库管理还是做数据库开发都是这样。不过具体学习的侧重点要看你将来做哪一块,如果是做数据库管理(DBA),侧重点应该放在SQLServer的系统管理上.
页:
[1]