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可帮助用户灵活的访问我们的比较&同步技术

posted @ 2013-05-20 18:48  tinaleft  阅读(168)  评论(0编辑  收藏  举报