SQLSERVER计算库,必会用的语句(大全)
原创当一个数据库中有很多存储过程,然而你想快速的查看某个存储过程的内容,该怎么办呢,一段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(Ntempdb..#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 表名
就这几个还不算大全,哈哈哈,以后碰到会慢慢更新的!!!
版权声明
所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除