plpgsql

    3熱度

    1回答

    考慮下面的代碼: drop table if exists demo cascade; drop table if exists child cascade; create table demo ( id bigint not null constraint demo_pk primary key ); create table child ( id bi

    3熱度

    3回答

    我想在一個函數內部創建一個事務塊,所以我的目標是在一次使用這個函數,所以如果有人使用這個函數而另一個想使用它,他不能,直到第一個是完成我創建這個功能: CREATE OR REPLACE FUNCTION my_job(time_to_wait integer) RETURNS INTEGER AS $$ DECLARE max INT; BEGIN BEGIN;

    1熱度

    2回答

    我在代碼中使用了RAISE EXCEPTION '...' USING ERRCODE='....',因爲我可以在我的C#代碼中使用錯誤代碼。但是,我想現在在我的plpgsql代碼中使用它,如下所示: BEGIN ... RAISE EXCEPTION 'Something is wrong' USING ERRCODE='S0001'; EXCEPTION WHEN 'S

    2熱度

    3回答

    我通過幾場試圖循環和運行它們的函數在給定列表循環: FOR field IN ARRAY['f1','f2'] LOOP execute pg_temp.converFieldToLower(newTableNameRaw,field) END LOOP; 這是我想要使用的功能: CREATE OR REPLACE FUNCTION pg_temp.converFieldToLow

    -1熱度

    3回答

    我搜索的方式開始在特定的時間(爲了測試併發訪問)一Function或Transaction,但我沒有找到一個明確的辦法,我在這裏找到PostgreSQL - make two transactions run at the same time ,在特定的時間內用linux執行腳本的東西,但是如果您使用的是Windows或其他操作系統,這並沒有什麼幫助。 我創建了一個簡單的方法,但我不知道這是否有問

    2熱度

    1回答

    無論何時將新行插入到表中,我都試圖觸發pg_notify,但不是每個新插入的行都得到通知,我只總共收到一個通知。 觸發是 CREATE TRIGGER "testNotify" AFTER INSERT ON mine.test FOR EACH ROW EXECUTE PROCEDURE mine."testNotify"() 功能是 CREATE OR REPLACE FUNCTION

    0熱度

    1回答

    我創建了下面的函數來驗證客戶在我的數據庫: create or replace function altaClient(p_nombre cliente.nombre%type,p_repcod cliente.repcod%type,p_limcred cliente.limcred%type) RETURNS varchar as $$ declare begin if p_

    1熱度

    4回答

    我正在創建運行檢查的觸發器,如果​​它通過,則會引發異常。爲此,我需要使用動態調用,因爲我只將表名稱作爲字符串。我正在使用PostgreSQL,但我無法弄清楚如何執行命令的作品。當我這樣做: CREATE OR REPLACE FUNCTION bleep() RETURNS table(id INT) AS $bleep$ BEGIN RETURN QUERY EXECUTE

    2熱度

    1回答

    函數json_object_keys(json)返回setof text。如何將這個setof text轉換爲一個字符串,所有元素用','分開?我必須使用函數array_to_string(),但它接受一個數組,而不是一個setof。那麼如何將setof轉換爲數組。例如: DECLARE custom_fields json; BEGIN custom_fields:='{"

    1熱度

    2回答

    我是PostgreSQL的新手(目前正在使用MSSQL)。讓我們假設我們有一個複合型Customer(uid uuid, name text),你選擇從功能(程序)一樣返回此類型: create or replace function public.getCustomers(value text) returns setof Customer as $$ select "uid",