SQL SERVER数据库,必会用到的语句(大全)

当一个数据库中有很多存储过程,然而你想快速的查看某个存储过程的内容,该怎么办呢,一段SQL就可以了,如下:

SELECT obj.Name 存储过程名, sc.TEXT 存储过程内容  
FROM syscomments sc  
INNER JOIN sysobjects obj ON sc.Id = obj.ID  
WHERE sc.TEXT LIKE '%存储过程的名字%'

判断数据表或临时表是否存在,如下:

--数据表是否存在:(把SQL中的[表名]替换成你要判断的表名)
IF EXISTS  (SELECT  * FROM dbo.SysObjects WHERE ID = object_id(N'[表名]') AND OBJECTPROPERTY(ID, 'IsTable') = 1) 
PRINT '存在'

--临时表是否存在:(把SQL中的#TEMP_TBL替换成你要判断的临时表名)
if exists (select * from tempdb.dbo.sysobjects where id = object_id(N'tempdb..#TEMP_TBL') and type='U')
PRINT '存在'

 向已存在或者不存在目标表插入数据结果,如下:

一:如果要插入目标表不存在:

select * into 目标表 from 表 where ...

--如果你只想到目标表的表结构不要数据,可以这样写:
select * into 目标表 from 表 where 1=2

二:如果要插入目标表已经存在:

insert into 目的表 select * from 表 where 条件

存储过程中快速获取一个select的行数,如下:

--之前我会这样写
SELECT * FROM 表
SET @count = COUNT(*) FROM 表

--现在用@@ROWCOUNT,数据库中自带的全局变量
SELECT * FROM 表
SET @count = @@ROWCOUNT

修改数据表列类型,如下: 

alter table 表名 alter column  列名 类型;
例如:
alter table [User] alter column [UserName] Nvarchar(100);

添加一列,如下: 

alter table 表名 add 列名 类型;
例如:
alter table [User] add [UserName] Nvarchar(100);

表里有自增列时,清空表数据让ID从1开始自增,如下:

truncate table 表名

就这几个还不算大全,哈哈哈,以后碰到会慢慢更新的!!!

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值