0
我有一個腳本,我只需將其粘貼到POSTGRES 9.1中的SQL查詢窗口中並運行即可。即閱讀第1部分如何控制postgres腳本執行
DO
$$
BEGIN
CREATE SEQUENCE base_listing_id_seq
INCREMENT 1
MINVALUE 1
MAXVALUE 9223372036854775807
START 1
CACHE 1;
ALTER TABLE base_listing_id_seq
OWNER TO postgres;
EXCEPTION
WHEN duplicate_table THEN RAISE NOTICE 'sequence base_listing_id_seq already exists';
END
$$ LANGUAGE plpgsql;
-- Part 2
CREATE TABLE IF NOT EXISTS aes_fba_details
(
id serial NOT NULL,
product_id integer NOT NULL,
shippingprice numeric DEFAULT 0,
fbadatetime date NOT NULL,
currency text,
CONSTRAINT aes_fba_details_pkey PRIMARY KEY (id)
)
WITH (
OIDS=FALSE
);
ALTER TABLE aes_fba_details
OWNER TO postgres;
-- End Scripts
我想要做的是取決於值第1部分或第2部分(版本字符串,如果你喜歡)運行 -
如 - 開始腳本 從一張桌子裏。
如
myVariable = SELECT version-string FROM versionTable;
...
DO PART 1
...
If myVariable > 1 then
...
DO PART 2
...
End if
這甚至可能嗎?如果我混淆了術語,我很抱歉。
謝謝,一個大的DO與我很好。你能幫助我想要實現什麼大綱? – err1
@ Sai-LeungLee我真的不知道你需要什麼。你幾乎寫了你想要的代碼。你知道如何使用PL/PgSQL'DO'塊,就像你的例子中有一個塊一樣。因此,只需將它包含在具有適當的「IF ... THEN」條件的「DO」塊中即可。有關如何使用「IF」語句,請參見PL/PgSQL控制結構手冊。 –
謝謝你,但我有點不確定如何使用從SQL語句返回的數據初始化變量:myVariable = SELECT version-string FROM versionTable;一旦我有這個工作,我相信我能夠將腳本一起破解。我不知道有關代碼的多少位(除了我能夠從Google搜索中拼湊出來的代碼外)。 SQL和函數我很好(一點),但後來我很困惑如何將它們都綁在一起。 – err1