フィールド名の値のすべてを含むデータベーステーブルを変更します。

1、クエリは、フィールド内のすべてのテーブルが含まれています

選択OBJECT_NAME(ID)colNameにとしてobjNameに、名前
SYSCOLUMNSから
どこ(「あなたは%を照会する%フィールド名」のような名前)
そしてID(XTYPE = 'U' のsysobjectsからIDを選択)で
objnameにすることによって順序
;
2、クエリはすべてのストアドプロシージャのフィールドが含まれています

SELECT obj.Nameストアドプロシージャ名、sc.TEXTコンテンツストアドプロシージャ 
 
syscommentsのSCから 
 
INNERはsysobjectsにOBJ ON sc.Id = obj.IDを登録しよう 
 
WHERE sc.TEXT LIKE「クエリ%にしたい%フィールド名」  

  

宣言
	@verId UNIQUEIDENTIFIER = 'XXXXX'

ベギン
	SET NOCOUNT ON。
	DECLARE @sql NVARCHAR(MAX)

	SELECT FOR DECLARE CURSOR cursorClearUserData LOCAL
		テーブル名= D.name 
		から
			SYSCOLUMNS A
		左結合します
			systypesにB
		オン
			A.xusertype = B.xusertype
		INNER JOINは
			sysobjectsにD
		オン
			A.id = D.idとD.xtype = 'U' とD.name <> 'dtproperties'
		左結合します 
			sys.extended_propertiesグラム   
		a.id = g.major_id AND a.colid = g.minor_id A.name ON = 'IsUser'
		ORDER BY D.name。
	OPEN cursorClearUserData
	DECLARE @tablename NVARCHAR(100)。
	cursorClearUserData INTO @tablenameから次のFETCH
	WHILE @@ FETCH_STATUS = 0 
	ベギン
		SETの@sql = '更新' + @tablename + '組IsUser = 0ここでPro_PrVeId =' + '' + CAST(@verId AS NVARCHAR(36))+ '' + ';'
		印刷@tablename
		cursorClearUserData INTO @tablenameから次のFETCH
	終わり

	CLOSE cursorClearUserData
	DEALLOCATE cursorClearUserData
	SET NOCOUNT OFF。
終わり

  

おすすめ

転載: www.cnblogs.com/daizhipeng/p/12170604.html
おすすめ