postgre(关于postgre数据库问题,求大神解答)

本文目录
关于postgre数据库问题,求大神解答
处理办法如下:
先连上postgres数据库,然后执行以下操作:
begin;
set transaction read write;
alter database xxx;
set default_transaction_read_only = off;
commit;
postgre 存储过程 返回
CREATE OR REPLACE FUNCTION paymentavailable(p_c_payment_id numeric)
RETURNS numeric AS
$BODY$
DECLARE
v_Currency_ID NUMERIC(10);
v_AvailableAmt NUMERIC := 0;
v_IsReceipt C_Payment.IsReceipt%TYPE;
v_Amt NUMERIC := 0;
r RECORD;
BEGIN
-- Charge - fully allocated
SELECT MAX(PayAmt)
INTO v_Amt
FROM C_Payment
WHERE C_Payment_ID=p_C_Payment_ID AND C_Charge_ID 》 0;
IF (v_Amt IS NOT NULL) THEN
RETURN 0;
END IF;
-- Get Currency
SELECT C_Currency_ID, PayAmt, IsReceipt
INTO v_Currency_ID, v_AvailableAmt, v_IsReceipt
FROM C_Payment_v -- corrected for AP/AR
WHERE C_Payment_ID = p_C_Payment_ID;
-- DBMS_OUTPUT.PUT_LINE(’== C_Payment_ID=’ || p_C_Payment_ID || ’, PayAmt=’ || v_AvailableAmt || ’, Receipt=’ || v_IsReceipt);
-- Calculate Allocated Amount
FOR r IN
SELECT a.AD_Client_ID, a.AD_Org_ID, al.Amount, a.C_Currency_ID, a.DateTrx
FROM C_AllocationLine al
INNER JOIN C_AllocationHdr a ON (al.C_AllocationHdr_ID=a.C_AllocationHdr_ID)
WHERE al.C_Payment_ID = p_C_Payment_ID
AND a.IsActive=’Y’
LOOP
v_Amt := currencyConvert(r.Amount, r.C_Currency_ID, v_Currency_ID, r.DateTrx, null, r.AD_Client_ID, r.AD_Org_ID);
v_AvailableAmt := v_AvailableAmt - v_Amt;
-- DBMS_OUTPUT.PUT_LINE(’ Allocation=’ || a.Amount || ’ - Available=’ || v_AvailableAmt);
END LOOP;
-- Ignore Rounding
IF (v_AvailableAmt BETWEEN -0.00999 AND 0.00999) THEN
v_AvailableAmt := 0;
END IF;
-- Round to penny
v_AvailableAmt := ROUND(COALESCE(v_AvailableAmt,0), 2);
RETURN v_AvailableAmt;
END;
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100;
ALTER FUNCTION paymentavailable(numeric)
OWNER TO postgres;
sql数据库与postgre数据库的区别
access是中小型数据库,sql是大型的,当存储容量达到一定程度的时候,就会明显的感觉到他们存取速度上的区别.
access数据库和sql可以互转

更多文章:
issued retroactively(FORM E上盖“ISSUED RETROACTIVELY”的问题,小女在线等待)
2026年10月15日 10:30
begin和start的区别(start与begin的区别)
2026年10月15日 09:20
vant官网中文(范特365 是韩国化妆品VANT36.5吗)
2026年10月15日 09:10
prison break(越狱(prison break)到底是在讲个什么)
2026年10月15日 06:50
c程序设计第五版教学视频(求C程序设计(第五版)谭浩强教材源代码、视频课件等电子版资料!谢谢大家!)
2026年10月15日 06:40
十六进制转二进制表(16进制转为2进制、8进制、10进制的公式)
2026年10月15日 06:10





