0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

個人的メモ

Last updated at Posted at 2025-03-13

-- 1つのスクリプトとして実行します
DECLARE
col_list VARCHAR;
diff_query VARCHAR;
BEGIN
-- ① テーブルA1のカラム情報から、カラムZを除いたカラム名をカンマ区切りで取得
SELECT LISTAGG(column_name, ', ') WITHIN GROUP (ORDER BY ordinal_position)
INTO col_list
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_schema = 'YOUR_SCHEMA'
AND table_name = 'A1'
AND column_name <> 'Z';

-- ② テーブルA1とA2の各SELECT文を元に、EXCEPTで差分レコードを抽出するSQL文を生成
diff_query :=
'SELECT ' || col_list || ' FROM YOUR_SCHEMA.A1 ' ||
'EXCEPT ' ||
'SELECT ' || col_list || ' FROM YOUR_SCHEMA.A2';

-- ③ 動的SQLを実行して差分レコードを返す
-- ※SnowflakeのUIなどで実行すると、結果セットが表示されます。
EXECUTE IMMEDIATE diff_query;
END;

0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?