(これについてはStackOverflowで特に2つ目の記事を見てきました。具体的にはthisとthisですが、 SQL Serverを使用しています。)SQL Server:列内の特定の値を持つすべての行をすべて検索します。
したがって、特定の列を持つすべてのテーブルを取得するのにthis postを使用しました。その部分はうまく動作し、100個以上のテーブルを返します。
SELECT c.name AS 'ColumnName'
,t.name AS 'TableName'
FROM sys.columns c
JOIN sys.tables t ON c.object_id = t.object_id
WHERE c.name LIKE 'myColumn'
ORDER BY TableName
,ColumnName;
を私が今探していますどのようなものに変更される - 私のこれらのテーブルのそれぞれの行のすべてを取得する方法があります:これは私がそのポストから、使用していることは何ですターゲットの列名に特定の値がありますか?基本的には、システムのすべてのテーブルをリッピングし、特定の列名が特定の値を持つすべての行を選択できるようにしたいと考えています。 (私は後でDELETE
、後ですべてのこれらの行を削除しようとするが、最初のSELECT
されます。)
何か(私は動作しません知っている。それは、例示の目的のためです):
SELECT [row]
FROM sys.tables tab
JOIN sys.columns col ON col.object_id = tab.object_id
WHERE col.name LIKE 'myColumn' AND col.value = 'myVal'
私が考えることができる唯一の他の選択肢は、最初のクエリの出力を取り出し、それぞれに対してSELECT
を実行することです。これは、SQL Server Management Studioで控えめな出力を与えてくれます。
外部ツールやその他のものに頼らずに、これについて簡単な方法がありますか?
が、私はすでにそれに列を持っているすべてのテーブルを取得することができます。列があるすべてのテーブルに特定の値を持つすべての行が必要です。 –
次に動的クエリが必要です。http://stackoverflow.com/a/591991/3270427 – McNets