데이터베이스의 사용자 상태 수준을 자동으로 업데이트하는 트리거를 만들려고합니다. 상태 수준은 사용자가 생성 한 수익 금액을 기반으로합니다. 이것은 내가 지금까지 생각해 낸 것입니다.트리거 - SQL 문 무시한 오류
create or replace trigger update_hirer_status
after insert or update of payment_id, status_id on payments
for each row
declare
user_id_temp number := 0;
total_amount number := 0;
begin
select external_users.external_user_id into user_id_temp
from external_users
join financial_accounts
using (external_user_id)
join payments
on financial_accounts.account_number = payments.sending_account_number
where financial_accounts.account_number = payments.sending_account_number;
select sum(amount) into total_amount
from payments
join
financial_accounts
on payments.sending_account_number = financial_accounts.account_number
join external_users
on financial_accounts.external_user_id = external_users.external_user_id
where payments.status_id = 1
and financial_accounts.external_user_id = user_id_temp;
if total_amount >= 2000
then update external_users
set status_id = 4
where external_user_id = user_id_temp;
elsif total_amount >= 500
then update external_users
set status_id = 3
where external_user_id = user_id_temp;
elsif total_amount >= 100
then update external_users
set status_id = 2
where external_user_id = user_id_temp;
end if;
end;
나는 다음과 같은 오류 메시지가 나타납니다이 트리거를 만들려고 할 때 : 6 호선에서
오류 : PL/SQL : 사람이 무엇을 알고 있나요 SQL 문
declare
user_id_temp number := 0;
total_amount number := 0;
begin
select external_users.external_user_id into user_id_temp
무시를 문제 수도 있다? 피드백을 많이 주셨을 때 트리거를 만들려고 시도한 것은 이번이 처음입니다.
그게 유일한 오류입니다. 당신은 그 중 한 블록을 얻지 못했고, 그 중 하나는 실제 문제를 부각시켜야합니까? 어떻게 그리고 어디서 이걸 운영하고 있습니까? –