2017-02-27 16 views
0

に変数としてスキーマ名を保存する:私はいくつかの単純なクエリのためのPGSQLを使用しないようにしようとしているが、私は、変数としてスキーマ名を格納し、複数のクエリで、後でそれを使用したいPostgreSQLの

WITH p AS (SELECT 'testSchema' AS schemaName) 
CREATE SCHEMA IF NOT EXISTS p.schemaName; 
create table if not exists p.schemaName.table1; 

おそらく "with"は正しい方法ではなく、別の方法で使う必要があるかもしれません。

答えて

0

というオプションを使用してSQL文SETを使用する必要がありますが、それはCREATE SCHEMAでは機能しません。私は最終的に使用

BEGIN; -- start transaction 
CREATE SCHEMA IF NOT EXISTS testschema; 
SET LOCAL search_path = 'testschema'; -- only for this transaction 
CREATE TABLE IF NOT EXISTS table1 ...; -- will be created in testschema 
COMMIT; 
+0

:このような

何かLOCALのsearch_path = 'SCHEMA1'、 'SCHEMA2' を設定します。私のスクリプトには1つ以上のスキーマが必要でした。 –

関連する問題