Microsoft SQL Serverのコードスニペットコレクション

MS SQLコレクションスニペ​​ット

クエリの依存関係

SELECT DISTINCT object_Name(id) FROM syscomments
WHERE id IN (SELECT id FROM sysobjects WHERE type IN ('P'))
AND text LIKE '%table_name%'

クエリは、この表が含まれています

select definition from sys.sql_modules where definition like '%table_name%'

ビューのインデックス

SELECT * FROM sys.indexes WHERE object_id=OBJECT_ID('table_name', N'U')

チェック制約

sp_helpconstraint 'table_name'

制約を削除します

alter table [table_name] drop constraint [constraint_name]

/*  通过存储过程查询一个表的所有索引
sp_helpindex [ @objname = ] 'name'
参数 :[@objname =] 'name'  是当前数据库中表或视图的名称。name 的数据类型为 nvarchar(776),没有默认值。 */
sp_helpindex 'table_name'

照会システム・テーブル・インデックスとインデックス列

SELECT  indexname = a.name , tablename = c. name , indexcolumns = d.name , a.indid
FROM  sysindexes a JOIN sysindexkeys b ON a.id = b.id  AND a.indid = b.indid
  JOIN sysobjects c ON b.id = c.id
  JOIN syscolumns d ON b.id = d.id  AND b.colid = d.colid
WHERE  a.indid NOT IN ( 0 , 255 )
and  c.xtype='U' AND c.name = 'table_name' and  c.status>0
ORDER BY c. name ,a.name ,d.name

インデックスの削除

DROP INDEX [index_name] ON [table_name]

ビュー統計

sp_autostats 'table_name'

削除統計

DROP STATISTICS [index_name]

数字だけを取ります

SELECT CASE WHEN patIndex('%[^0-9]%',@S)>0 THEN left(@S,patIndex('%[^0-9]%',@S)-1) ELSE 0 END

クロスデータベースのデータガイド

exec sp_configure 'Ad Hoc Distributed Queries' , [0 or 1]  --用时开启,用完关闭
reconfigure
exec sp_configure 'show advanced options' , [0 or 1]
reconfigure SELECT * FROM  openrowset  ( 'SQLOLEDB' , '[servername]' ; '[username]' ; '[password]' , [databasename].[dbo].[tablename] )

データベース全角半角ターン

CREATE FUNCTION f_Convert
(
  @str NVARCHAR(4000), --要转换的字符串
  @flag bit --转换标志,0转换成半角,1转换成全角
)RETURNS nvarchar(4000)
AS
BEGIN
DECLARE @pat nvarchar(8),@step int,@i int,@spc int
IF @flag=0
SELECT @pat=N'%[!-~]%',@step=-65248,
@str=REPLACE(@str,N'  ',N' ')
ELSE
SELECT @pat=N'%[!-~]%',@step=65248,
@str=REPLACE(@str,N' ',N'  ')
SET @i=PATINDEX(@pat COLLATE LATIN1_GENERAL_BIN,@str)
WHILE @i> 0
SELECT @str=REPLACE(@str,
SUBSTRING(@str,@i,1),
NCHAR(UNICODE(SUBSTRING(@str,@i,1))+@step))
,@i=PATINDEX(@pat COLLATE LATIN1_GENERAL_BIN,@str)
RETURN(@str)
END
GO
//调用:
UPDATE [tablename] set brnl=dbo.f_Convert(brnl,0)

(機能およびNEWID上)ランダムなクエリを実装

機能上および行番号を用いてrow_numbert SQL()関数を生成することができます。ソート列の値は、同じ値をグループ化するデータラインを並べ替えます。
、UniqueIdentifier型のようなスタイルをユニークな値を作成するために、NEWID()6F9619FF-8B86-D011-B42D-00C04FC964FF
NEWIDによってこの値に応じてソート(順(場合スキャンしたレコードが、同じ値が各レコードからの各結果を発生させるように、その都度、この関数を呼び出すたびに選択するため))は、ランダム記録と同様の効果を奏します。

select row_number() over(order by AID DESC) as rowid,* from bb

おすすめ

転載: www.cnblogs.com/viazure/p/12208531.html