私のコードは次のとおりです。ストア選択クエリの出力は
はSELECT column_name
FROM information.SCHEMA.columns
WHERE table_name = 'aean'
それは、テーブルaean
の列名を返します。
は今、私は、配列を宣言している:
DECLARE colnames text[]
にはどうすればCOLNAMES配列内のセレクト出力を保存することができます。
colnamesを初期化する必要はありますか?
私のコードは次のとおりです。ストア選択クエリの出力は
はSELECT column_name
FROM information.SCHEMA.columns
WHERE table_name = 'aean'
それは、テーブルaean
の列名を返します。
は今、私は、配列を宣言している:
DECLARE colnames text[]
にはどうすればCOLNAMES配列内のセレクト出力を保存することができます。
colnamesを初期化する必要はありますか?
2つの方法があります。一つは、集約することです:
SELECT ARRAY(
SELECT column_name
FROM information.schema.columns
WHERE table_name = 'aean')
私はこれがplpgsqlがためである仮定しています:
SELECT array_agg(column_name::TEXT)
FROM information.schema.columns
WHERE table_name = 'aean'
他は、配列コンストラクターを使用することです。その場合、次のように割り当てることができます:
colnames := ARRAY(
SELECT column_name
FROM information.schema.columns
WHERE table_name='aean'
);
はpostgresで動作しないので、postgresで動作するコードを私に渡すことができますか?エラー:データ型の配列型が見つかりませんでしたinfo_schema.sql_identifier – mitesh
ごめんなさい。無意味なコピーと貼り付けは、3つの呼び出しすべてにarray_agg()が含まれています。私はあなたのPGバージョンを幸せにするために、最初のものをタイプキャストしました。 –
+1ありがとう、まったく同じことを探していた。 – jerrymouse
私はまったく同じ問題を抱えていました。デニスによって与えられた解決策のひとつ以上の作業の変更(タイプを指定する必要があります):
SELECT ARRAY(
SELECT column_name::text
FROM information_schema.columns
WHERE table_name='aean'
)
+1、私は正確に同じエラーmessage- ERRORとここに到達:データ・タイプinformation_schema.sql_identifierのための配列型を見つけることができませんでした。 'array_agg(column_name、 '、')' – jerrymouse