我正在尝试在Oracle 11g上运行此代码,它在下面给出了错误.我似乎无法做对.
DECLARE
CURSOR bookcursor IS
SELECT btName, BookCopy.Isbn, pubName, dateDestroyed
FROM booktitle bt
JOIN publisher p
ON bt.pubId = p.pubId
JOIN bookcopy bc
ON bt.Isbn = bc.Isbn
WHERE datedestroyed IS NULL
;
bookcursorrec bookcursor%ROWTYPE;
BEGIN
OPEN bookcursor;
LOOP
FETCH bookcursor INTO bookcursorrer;
EXIT WHEN bookcursor%NOTFOUND;
dbms_output.put_line( 'ISBN: ' ||bookcursorrec.isbn
|| ' - Book Name: ' || bookcursorrec.btname
|| ' - Publisher: ' || bookcursorrec.pubname );
END LOOP;
CLOSE bookcursor;
END;
ERROR at line 3:
ORA-06550: line 3, column 20: …Run Code Online (Sandbox Code Playgroud) 我必须在日期的帮助下从下表中检索收入最高的员工姓名,工资和相应的季度.
Table name: Emp
------------------
Empname Salary Date
Hunter 3260000 31aug2011
Antony 2000000 30nov2011
Mark 1800000 1dec2011
Gabriel 2300000 31oct2011
Christian 2400000 31oct2011
Gabriel 2250000 30Nov2011
Hunter 2280000 30sep2011
Run Code Online (Sandbox Code Playgroud)
请帮忙.提前致谢.
甲骨文 - 11g
无法获取此语句来更新表,我几乎可以肯定我的问题是串联语法.
请看看,如果你看到我在这里出错了,请告诉我..
谢谢 !!
UPDATE TAB1 s
SET s.user_NUM =
(select e.USER#
from TAB2 e
where ('e.LAST_NAME'||','||' E.FIRST_NAME')= s.DEALER);
Run Code Online (Sandbox Code Playgroud) select to_date(checks.payment_dte, 'YYYYMMDD') as payment_date,
checks.run_number,
checks.check_nbr as check_number,
checks.check_amt as check_amount,
checks.payee_no as payee_number,
checks.loc as location,
checks.fac_state as facility_state,
checks.delta_usa_ind,
checks.payee_lnme as payee_last_name,
checks.payee_fnme as payee_first_name,
checks.payee_addr1 as payee_address1,
checks.payee_addr2 as payee_address2,
checks.payee_addr3 as payee_address3,
checks.payee_city,
checks.payee_st as payee_state,
to_char(checks.payee_zip, '00000') as payee_zip,
to_char(checks.payee_zip4, '0000') as payee_zip4,
checks.payee_country_cde as payee_country_code,
country.country_abbreviation as payee_country_code_description,
checks.maint_code as maintenance_code,
checks.mod_dte as mod_date,
checks.mod_op,
checks.payment_profile_id,
checks.bank_profile_id,
checks.parent_id
from (select c.*,
check_total
from db1.tbl_payment_checks c
join (select sum(net) as check_total,
check_nbr
from (select …Run Code Online (Sandbox Code Playgroud) 触发器需要在输入生日之前停止死亡日期.
CREATE TRIGGER Check_deathDate
BEFORE INSERT Or UPDATE of deathDate on Actor
FOR EACH ROW
DECLARE
deathDate DATE;
birthDate DATE;
deathDate_Error EXCEPTION;
IF (deathDate < birthDate) THEN
RAISE deathDate_Error;
END IF;
EXCEPTION
WHEN deathDate_Error THEN
Raise_application_error( 'deathDate' || 'should be before' || 'birthDate');
END;);
Run Code Online (Sandbox Code Playgroud)
给出错误......
*第3行的错误:ORA-04079:触发器规范无效
...我怎么能指定IF?