반응형
Oracle SQL PLS-00049: 잘못된 바인딩 변수
칼럼 스펠링에 문제가 있는 것으로 보이는 이 오류가 발생합니다.하지만 스펠링을 모두 맞췄다고 99% 확신하지만, 오류를 범할 이유가 없습니다.
출처는 다음과 같습니다.
CREATE OR REPLACE TRIGGER update_qoh_trigger
AFTER INSERT ON sales
FOR EACH ROW
DECLARE
v_qoh products.qoh%TYPE;
v_new_qoh products.qoh%TYPE;
BEGIN
SELECT qoh INTO v_qoh
FROM products
WHERE id = :new.product_id;
v_new_qoh := v_qoh - new.quantity; // ERROR HERE
UPDATE products
SET qoh = :v_new_qoh
WHERE id = :new.product_id;
END;
/
sho err
이는 다음과 같은 결과를 의미합니다.
12/12 PLS-00049: bad bind variable 'V_NEW_QOH'
12번 라인을 다음과 같은 조합으로 교체해 보았습니다.
v_new_qoh := :v_qoh - :new.quantity;:v_new_qoh := :v_qoh - :new.quantity;:v_new_qoh = :v_qoh - :new.quantity;:v_new_qoh := v_qoh - :new.quantity;:v_new_qoh := :v_qoh - new.quantity;v_new_qoh := v_qoh - :new.quantity;
하지만 아직도 오류가 납니다.
제품 테이블은 다음과 같습니다.
CREATE TABLE products (
id NUMBER,
name VARCHAR2,
price NUMBER,
qoh NUMBER(2)
);
CREATE TABLE sales (
id NUMBER(10) AUTO_INCREMENT,
customer_id NUBMER(3),
product_id NUMBER(3),
quantity NUMBER(2),
price NUMBER(5,2),
sale_date DATE,
despatch_id NUMBER(10)
);
당신의 도움에 미리 감사드립니다.
업데이트를 다음으로 변경합니다.
UPDATE products
SET qoh = v_new_qoh
WHERE id = :new.product_id;
즉, v_new_qoh 앞에는 결장이 없습니다.
라인 번호(12)는 PL/SQL 블록의 라인 번호를 나타냅니다.블록은 DELECORE로 시작하므로 12번째 줄은 다음으로 시작합니다.
SET qoh = :v_new_qoh
그리고.new.quantity그래야 한다:new.quantity
sample_insp_id 값을 sir_no에 삽입하는 경우:-
update TRIGGER "PT"."BI_PROJECT_PART_SAMPLE_INSP"
before insert on "PROJECT_PART_SAMPLE_INSP"
for each row
begin
if :NEW."SAMPLE_INSP_ID" is null then
select "PROJECT_PART_SAMPLE_INSP_SEQ".nextval into :NEW."SAMPLE_INSP_ID",:NEW."SIR_NO"from dual;
end if;
end;
트리거 만들기 또는 바꾸기
"BI_PROJECT_PART_SAMPLE_INSP"
삽입하기 전에
"PROJECT_PART_SAMPLE_INSP"
행마다
begin
if :NEW."SAMPLE_INSP_ID" is null then
select "PROJECT_PART_SAMPLE_INSP_SEQ".nextval into :NEW."SAMPLE_INSP_ID" from dual;
:NEW."SIR_NO":= :NEW."SAMPLE_INSP_ID";
end if;
end;
언급URL : https://stackoverflow.com/questions/7244714/oracle-sql-pls-00049-bad-bind-variable
반응형
'programing' 카테고리의 다른 글
| Angular 2 라우터(버전 3)를 사용하여 상대적으로 탐색 (0) | 2023.09.11 |
|---|---|
| Oracle에서 PL/SQL의 전역 변수를 정의하는 방법은 무엇입니까? (0) | 2023.09.11 |
| 백업을 하나의 DC에서만 구현하기 위한 솔루션 모색 (0) | 2023.09.11 |
| -Xss와 -XX의 차이점은 무엇입니까?스레드 스택 크기? (0) | 2023.09.11 |
| size_t가 size입니까? (0) | 2023.09.11 |