易截截图软件、单文件、免安装、纯绿色、仅160KB

SQL SERCER 表字段修改 总结

这两天研究了SQL SERVER的字段修改.有一些心得,写出来为日后参考:
1,删除字段: ALTER TABLE [tablename] DROP COLUMN [fieldname]
删除的时候该字段必须没有被任何外键引用,没有任何约束.
2,删除约束: ALTER TABLE [tablename] DROP CONSTRAINT constraint_name
删除约束是约束名不可加单引号.
3,增加默认值约束: ALTER TABLE [tablename] ADD CONSTRAINT constraint_name DEFAULT 'default_value' FOR [fieldname]
用FOR关键字指定为那个字段增加默认值约束.
4,修改字段: ALTER TABLE [tablename] ALTER COLUMN [fieldname] new_datatype isnull
要更改的列的 new_data_type 应符合下列准则:
A,原来的数据类型必须可以隐式转换为新数据类型。(发现,如果原来的数据类型是text的就再也不能修改数据类型了)
B,new_data_type 类型不能为 timestamp。
C,对 ALTER COLUMN,ANSI 空默认值始终打开;如果没有指定,列将可为空。
D,对 ALTER COLUMN,ANSI 填充始终打开。
E,如果要更改的列是标识列,new_data_type 必须是支持标识属性的数据类型。
F,将忽略SET ARITHABORT的当前设置。ALTER TABLE语句的行为如同ARITHABORT选项为ON时一样。
G,只有列中不包含空值时,ALTER COLUMN 中才可指定 NOT NULL。
将空值更新为非空值:UPDATE [tablename] SET [nullfield] = 'some_value' WHERE [nullfield] IS NULL
5,增加带默认值约束的字段:
ALTER TABLE [tablename] ADD [new_field_name] new_datatype isnull CONSTRAINT constraint_name DEFAULT 'default_value' WITH VALUES
A, 'WITH VALUES' 可以不写,写的话,就用该DEFAULT约束指定的值,填充在所有已有记录新加的字段上,否则使用'NULL'填充在所有已有记录新加的字段上.
B, 添加到表中的新列要么允许空值,要么必须指定默认值。
6,使用sp_rename存储过程修改字段名称:sp_rename @objname = '[tablename].[fieldname]' , @newname = 'newfieldname' ,@objtype = 'COLUMN'
参数objname必须指定为[表名].[欲修改的字段名]这样的形式,要修改字段名的话objtype就必须指定为'COLUMN'.值得注意的是newname这个参数中的字段名不可以使用"[]",但可以在其中使用空格,不过在以后使用这个字段名时要为其加上"[]",如果不小心使用"[]"的话字段名称会被修改成[[newfieldname]]]这样的怪样子的.这个一定要记住了!


相关文档:

ORACLE SQL优化

ORACLE SQL优化
(1) 选择最有效率的表名顺序(只在基于规则的优化器中有效):
ORACLE 的解析器按照从右到左的顺序处理from 子句中的表名,from 子句中写在最后的表
(基础表driving table)将被最先处理,在from 子句中包含多个表的情况下,你必须选择记
录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需 ......

SQL Server如何跨实例访问数据库

在我们日常使用SQL Server数据库时,经常遇到需要在实例Instance01中跨实例访问Instance02中的数据。例如在做数据迁移时,如下语句:
insert into Instance01.DB01.dbo.Table01
          select * from Instance02.DB01.dbo.Table01
普通情况下,这样做是不允许的,因为SQ ......

学习 T SQL (1)

基于msdn 详细学习T-SQL (http://msdn.microsoft.com/zh-cn/library/bb510741.aspx)
 Aggregate function--Sum() Two Sample from msdn
USE AdventureWorks;
GO
SELECT Color, SUM(ListPrice), SUM(StandardCost)
from Production.Product
WHERE Color IS NOT NULL
    AND ListPrice != 0.00 ......

在SQL语句中截取字符串函数的应用


问题一 
有这样的一个问题,数据库中有两个表,分别是Guest,Hotel,即旅客信息表和旅馆信息表,Guest表中有一个旅客编码的字段,这个字段的有20位,它的前10位代表这个旅客所住的旅馆,现在的问题是要根据Guest表中的旅客编码字段信息查到他所住的旅馆的名称和旅馆地址!
问题解决:
SQL SERVER的SQL语句:select ......

SQL learning

Five basic search conditions are summarized here:
1) Comparison test
2) Range test
3) Set membership test
4) Pattern matching test (Like)
     The pattern matching test checks to see whether the data value in a column matches a specified pattern
   % mathes any se ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号