plpgsql

    0熱度

    1回答

    我創建了一個動態函數。我動態地獲取表名的一部分。該功能已成功創建。但是當我執行該功能。我收到一個錯誤。我怎麼解決這個問題?我打電話跟 select * from dwgcould.getlatlngcenter(2000653); CREATE OR REPLACE FUNCTION dwgcould.getlatlngcenter(IN pro_id integer, OUT l

    0熱度

    1回答

    如何使用遞歸查詢,然後使用遊標更新postgresql中的多行。我嘗試返回數據但沒有找到數據。任何替代使用遞歸查詢和光標,或者更好的代碼請幫助我。 drop function proses_stock_invoice(varchar, varchar, character varying); create or replace function proses_stock_invoice

    1熱度

    1回答

    尋找具有默認的INSERT INTO消息,其中插入記錄的計數被打印出來。知道這與改變RETURNS從無效到其他東西以及可能添加OUT參數有關嗎? CREATE OR REPLACE FUNCTION etl(from_table regclass, to_table regclass) RETURNS void AS $$ BEGIN EXECUTE 'INSERT INT

    1熱度

    1回答

    我想在PostgreSQL中的函數中使用保存點功能。我讀過這個保存點不能在Postgres的函數裏面使用。 但是,當我回滾,我想回滾到一個特定的點,因爲我想使用保存點。什麼是替代方法呢? 示例代碼 CREATE or replace FUNCTION fn_loadData_Subha() RETURNS BIGINT AS $$ DECLARE batchId BIGINT;

    0熱度

    1回答

    分配返回值我創建了一個返回 text[] ,因爲它應該 CREATE OR REPLACE FUNCTION another_function_array() RETURNS text[] AS $$ SELECT array_agg(column_name::text) FROM information_schema.columns WHERE table_schema = 'a

    1熱度

    1回答

    我正在PostgreSQL 9.5中編寫觸發器函數。當名爲action_flag的列從FALSE更新爲TRUE時,將調用一個函數。 如果order_num在某個表中,那麼我希望從FALSE到TRUE的更新繼續。 否則,如果order_num是在其他表中,那麼我想引發異常並阻止更新發生。 我需要幫助在我的IF聲明中編寫UPDATE。 ELSEIF部分按預期運行。 CREATE OR REPLACE

    0熱度

    1回答

    我們將有高度的排名,但我對所有球員 得到0我轉換英尺和英寸爲釐米第一,並使用示例代碼老師給我們。 這裏是我的代碼: CREATE OR REPLACE FUNCTION player_height_rank (firstname VARCHAR, lastname VARCHAR) RETURNS int AS $$ DECLARE rank INTEGER:= 0; offset INT

    3熱度

    2回答

    PL/pgSQL執行與執行有什麼區別? 從手冊: 有時它是評估一個表達式或SELECT查詢但調用具有副作用,但沒有有用的結果值的函數當丟棄該結果,例如有用的。要在PL/pgSQL中執行此操作,請使用PERFORM語句。 但是,當我想是這樣的: perform 'create table foo as (select 1)'; 什麼也沒有發生。雖然這個查詢應該有副作用(創建表),並且結果可以被丟

    1熱度

    1回答

    我一直在谷歌搜索了一會兒,發現這個問題沒有答案。 考慮到這一點,我有一個表test_table(id serial, name varchar(15), surname varchar(40))。如果有人試圖在列name中插入高於15個字符的值,則將返回權限被拒絕。 我需要知道的是,如果有一種方式來創建一個trigger,任何時候它未能對test_table插入,這樣可以節省(插入)所有「丟失」的

    0熱度

    2回答

    如何獲取臨時變量中的行並處理/使用其字段? 請參閱開始部分,我需要獲取帳戶信息,進行一些計算,例如我需要在帳戶餘額方法中獲得Account.field1 - Account.Field2的值,該怎麼做? - 這是聲明 PREPARE get_account (varchar) AS SELECT * FROM "Accounts" WHERE "AccountKey" = $1 LIMIT 1;