常用SQL server示例

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、新建触发器
CREATE TRIGGER cfq3 --新建触发器cfq3
   ON  login --基于表login
   AFTER UPDATE ,insert  --触发事件
  
AS 

 DECLARE @I VARCHAR(20)
   SET @I =(SELECT id from inserted)
   DECLARE @j VARCHAR(50)
   SET @j =(SELECT ltrim(rtrim(name)) from inserted)

IF UPDATE (name)
BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;
    update login set name =@j where id =@I

    -- Insert statements for trigger here

END
GO
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'表的名称'

posted on 2017-07-30 12:43  所有人都  阅读(148)  评论(0)    收藏  举报

导航