1.为数据表添加一个新字段
Alter TABLE [dbo].[CustomerBackupConfig] Add [Stamp] [timestamp] NULLGO
2.为数据表添加两个新字段
Alter Table tblStates Add [TaxRate] money not null default 0,[Transit] int not null default 0GO
3.为数据表删除一个字段
Alter Table [dbo].[tblOrder] Drop Column [CookieID]GO
4.修改数据表一个字段的定义
Alter Table [dbo].[tblOrder] Alter Column [CookieID] int not nullGO
5.删除数据表
Drop Table tblTaxRateGO
6.为数据表去掉一个外键关联,然后再添加一个外键关联
Alter TABLE [dbo].[OrderPackageOption] Drop CONSTRAINT [FK_OrderPackageOption_OrderPackage]ALTER TABLE [dbo].[OrderPackageOption] ADDCONSTRAINT [FK_OrderPackageOption_OrderPackage] FOREIGN KEY([OrderPackageID]) REFERENCES [dbo].[OrderPackage] ([OrderPackageID])GO
7. 为数据表添加两个外键关联,并且设置其中之一不检查现有数据是否符合关联要求。
ALTER TABLE [dbo].[Account] ADDCONSTRAINT [FK_Account_State] FOREIGN KEY([StateID]) REFERENCES [dbo].[State] ([StateID]),CONSTRAINT [FK_Account_TimeZones] FOREIGN KEY([TimeZoneID]) REFERENCES [dbo].[TimeZones] ([timeid])GOAlter table [dbo].[Account] NoCheck Constraint [FK_Account_TimeZones]GO
8. 增加外键时不检查当前数据
ALTER TABLE [dbo].[Account] With NoCheckADD CONSTRAINT [FK_Account_AccountType] FOREIGN KEY([TypeID]) REFERENCES [dbo].[AccountType] ([TypeID])GO
9.为了对数据表进行批量的数据导入,需要将identity_insert先打开,执行完后在关闭。其目的是避开自增列的检查,顺利执行插入操作。
set identity_insert [dbo].[PSTNUsageNotes] on--在这里执行对PSTNUsageNotes表的批量插入操作set identity_insert [dbo].[PSTNUsageNotes] off
10.暂时关闭约束检查,等数据操作完成后再打开。
ALTER TABLE [Usage] NOCHECK CONSTRAINT [FK_USAGE_REFERENCE_PSTN1]ALTER TABLE [Usage] NOCHECK CONSTRAINT [FK_USAGE_REFERENCE_PSTN2]-- 在这里执行有可能破坏外键约束的操作,如强行删除数据等ALTER TABLE [Usage] CHECK CONSTRAINT [FK_USAGE_REFERENCE_PSTN1]ALTER TABLE [Usage] CHECK CONSTRAINT [FK_USAGE_REFERENCE_PSTN2]
11. 数据表的列重命名
exec sp_rename 'dbo.LocationIncidentalServiceRelationship.UsageAllowedWithouReservation','UsageAllowedWithoutReservation','column'
12. 检查A数据库中有哪些存储过程在B数据库中不存在
select name from Jaguar.dbo.sysobjects where xtype='P' and name not in(select name from JaguarTest.dbo.sysobjects where xtype='P' )
13. 在全部用户表和存储过程中寻找包含某段文字的用户表和存储过程
select OBJECT_NAME(id) AS name,[name] as content,xtype from sysobjectswhere [name] like '%IncidentalService%' And (xtype='U' or xtype='P')
类型说明:
xtype | type |
C | CHECK 约束 |
D | 默认值或 DEFAULT 约束 |
F | FOREIGN KEY 约束 |
FN | 标量函数 |
IF | 内嵌表函数 |
P | 存储过程 |
RF | 复制筛选存储过程 |
S | 系统表 |
TF | 表函数 |
TR | 触发器 |
U | 用户表 |
V | 视图 |
X | 扩展存储过程 |
L | 日志 |
原标题:非常用SQL语句技巧总结
关键词:sql