1. 程式人生 > >常用SQL server示例

常用SQL server示例

sqlserver

1、去除記錄中的空格

ltrim()去除左空格rtrim()去除右空格

select ltrim(rtrim(字段名)) from 表名。

2、增

INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
INSERT INTO 表名稱 VALUES (值1, 值2,....)
insert into 表名1 (列名1,列名2……) select 列名a,列名b…… from 表名2 (前提是表1已經存在且字段數據類型與表2兼容)
例如:insert into rpc (DATE,BM,KB,TRGS,CPGS,DCL,RPB001,RPB002) select * from rpb

3、刪

DELETE FROM 表名稱 WHERE 列名稱 = 值

4、改

UPDATE 表名稱 SET 列名稱 = 新值 WHERE 列名稱 = 某值

5、新建觸發器























6、事務

BEGIN TRAN

UPDATE COPMA SET MODI_DATE = ‘20140609000000000‘ WHERE MA001= ‘001‘

select * from COPMA 

select * from COPMA WHERE MA001=‘001‘



rollback tran --回滾事務


commit tran --完成並保存事務




7、存儲過程



8、遊標

9、去重復數據

重復記錄"有兩個意義上的重復記錄,一是完全重復的記錄,也即所有字段均重復的記錄,二是部分關鍵字段重復的記錄,比如Name字段重復,而其他字段不一定重復或都重復可以忽略。

對於第一種重復,比較容易解決,使用
select distinct * from tableName

第二種重復(後續補充)

10、查看觸發器或存儲過程
EXEC sp_helptext 觸發器名稱/存儲過程名稱

11、判斷數據庫中是否已經存在某個表,有的話就刪除該表

if(Exists(Select * From SysObjects Where xtype=‘U‘ And Name=‘表名稱‘))
drop table 表名稱 

12、檢測##CFGEJGS是否存在,是則刪除該表

 if exists (select * from tempdb.dbo.sysobjects 

where id = object_id(N‘tempdb..##CFGEJGS‘) and type=‘U‘) 

drop table ##CFGEJGS
13、將一年365天的日期插入到DCLHZ表的DATE字段中
註意dateadd函數的用法
select top 365 id=identity( int,0,1) into tmp from syscolumns a,syscolumns b 

insert into DCLHZ(DATE) select dateadd(day,id,‘2014-01-01‘)from tmp 

drop table tmp

14、查看某個表占用的空間大小
sp_spaceused‘表的名稱‘


常用SQL server示例