7
我想創建一個名稱傳遞給變量的架構。 例子:創建一個名稱傳遞給變量的架構
CREATE OR REPLACE FUNCTION test1("name" character varying)
RETURNS void AS
'CREATE SCHEMA "name";'
LANGUAGE 'sql' VOLATILE
COST 100;
我想創建一個名稱傳遞給變量的架構。 例子:創建一個名稱傳遞給變量的架構
CREATE OR REPLACE FUNCTION test1("name" character varying)
RETURNS void AS
'CREATE SCHEMA "name";'
LANGUAGE 'sql' VOLATILE
COST 100;
你可以使用PLPGSQL比EXECUTE:
CREATE OR REPLACE FUNCTION test1("name" character varying)
RETURNS void AS
$$
BEGIN
EXECUTE 'CREATE SCHEMA '|| quote_ident($1); -- security
RETURN;
END;
$$
LANGUAGE plpgsql
VOLATILE
COST 20;
SEARCH_PATH用戶更改默認的模式,所以你可以很容易地將表添加到它! 並使用格式與%I轉義模式名稱作爲標識符。
這樣的:
CREATE OR REPLACE FUNCTION test1("name" character varying)
RETURNS void AS
$$
BEGIN
EXECUTE FORMAT('CREATE SCHEMA %I;', $1);
EXECUTE FORMAT('SET search_path TO %I;', $1);
CREATE TABLE table1(
column1 integer
);
RETURN;
END;
$$
LANGUAGE plpgsql
VOLATILE
COST 20;
感謝弗蘭克它爲我工作。 – GVK 2010-03-05 12:25:21
推薦你使用'.. IF NOT EXISTS' – 2016-03-22 17:32:19