MSSQL拾遗
1. 判断存储过程是否存在
if exists(select 1 from sysobjects where id=object_id('所有者.存储过程名') and xtype='P')
IF EXISTS(SELECT 1 FROM sys.procedures WHERE name='deletefile')
2.查找视图是否存在
IF EXISTS(SELECT 1 FROM sys.views WHERE name='Schools')
2. sp_executesql 用法
DECLARE @tbname nvarchar(20)
SET @tbname = 'select 1'
EXEC sp_executesql @tbname
3. 如果该表需要删除重复的记录(重复记录保留1条),可以按以下方法删除
select distinct * into #Tmp from tableName
drop table tableName
select * into tableName from #Tmp
drop table #Tmp
4.
CREATE FUNCTION ProcedureParameters(@procedureName VARCHAR(100))
RETURNS TABLE
AS
RETURN select '参数名称' = name,
'参数类型' = type_name(xusertype),
'参数长度' = length,
'参数顺序' = colid,
'是否输出参数'=isoutparam
from syscolumns
where id=object_id(@procedureName)\
5. 通常的情况下不要选择用户可编辑的字段作为键。
smallint 最大值为 32,767
不要索引常用的小型表. 不要为小型数据表设置任何键,假如它们经常有插入和删除操作就更别这样作了。
6.Sql工具
以帮助用户从原生的SQL Server备份中还原单个数据库对象
SQL Object Level Recovery Native
SQL Comparison SDK
提供的系列API可帮助用户灵活的访问我们的比较&同步技术