Jadi, jika Anda menggunakan SQL Server maka Anda dapat menjalankan ini untuk menemukan semua kolom di semua tabel.
select
'SELECT * FROM '
+ st.name +
' WHERE ' +
sc.name + ' = ''MICROSOFT'' '
from sys.tables st join sys.columns sc on st.object_id = sc.object_id
Dengan menggunakan output kueri ini, Anda membuat daftar semua kemungkinan kombinasi SELECTS untuk setiap kolom di setiap tabel.
Ini hanya menampilkan daftar semua perintah, sekarang Anda harus menjalankannya. Untuk menjalankan setiap perintah, Anda harus membuat kursor yang akan memeriksa seluruh daftar hasil.
Anda akan mengelilingi SELECT
previous sebelumnya pernyataan dengan kursor untuk memeriksa setiap kueri dan menjalankannya. Jadi, kodenya menjadi seperti ini
DECLARE @myCommand VARCHAR(1000)
DECLARE c CURSOR READ_ONLY FAST_FORWARD FOR
select
'SELECT * FROM '
+ st.name +
' WHERE ' +
sc.name + ' = ''MICROSOFT'' '
from sys.tables st join sys.columns sc on st.object_id = sc.object_id
OPEN c
FETCH NEXT FROM c INTO @myCommand
WHILE @@FETCH_STATUS = 0
BEGIN
sp_executesql @myCommand
FETCH NEXT FROM c INTO @myCommand
END
CLOSE c
DEALLOCATE c