以下是示例程序代码,
create or replace procedure pro_test(start_date date, end_date date)
is
begin
insert into test1 select col1, col2, col3 from main where range_date between start_date and end_date;
exception
< what are the exception I need to capture >
end;
/
Run Code Online (Sandbox Code Playgroud)
Q1:这是直接在程序中传递日期的正确方法吗?Q2:如果没有,我可以在程序中传递varchar,来转换声明部分中的日期吗?Q3:在运营商之间开始部分使用,我可以直接通过程序参数吗?
在执行此程序时,exec pro_test('10102015','30102015');我需要在句子之间提及什么?start_date和end_date之间是否足够或我需要屏蔽日期格式?
有人可以帮我清楚吗?
我想知道如何将表数据转换为xml单独的文件.我是否需要使用UTL文件概念?下面是示例代码.任何人都可以帮我澄清一下吗?
CREATE OR PROCEDURE PRC_INSDB_XML (Booking_date1 in date)
as
begin
SELECT XMLElement("Employee", XMLForest(empno, ename, job, mgr, hiredate, sal, comm, deptno, gender)) AS "RESULT" FROM emp where Booking_date=Booking_date1 ;
end PRC_INSDB_XML;
/
Run Code Online (Sandbox Code Playgroud) 以下是面试问题,有人可以帮我解决一下吗?
select 'a1b2c3d4e5f6g7' from dual;
Run Code Online (Sandbox Code Playgroud)
输出是给定整数的总和(1 + 2 + 3 + 4 + 5 + 6 + 7)= 28.有帮助吗?
下面的代码有什么问题,有人可以帮我解决吗?
CREATE OR REPLACE TRIGGER TEST_TRI
AFTER INSERT
ON TEST1
FOR EACH ROW WHEN (NEW.COL2 >= '01-MAY-16')
BEGIN
IF INSERTING
THEN
MERGE INTO TEST_HIST HIST
USING TEST1 T1
ON (T1.NEW.COL1=HIST.COL2)
WHEN MATCHED THEN
UPDATE SET
HIST.COL5=NEW.COL5
WHEN NOT MATCHED
THEN
INSERT INTO
VALUES (:NEW.COL1,:NEW.COL2,:NEW.COL3,:NEW.COL4,:NEW.COL5);
END IF;
END;
/
Run Code Online (Sandbox Code Playgroud)
错误:错误(4,3):PL/SQL:忽略 Sql stmt 错误(12,14):PL/SQL:ORA-00926:缺少值关键字
感谢您的信息,我已经更改了如下代码并收到新错误。
CREATE OR REPLACE TRIGGER test_tri
after INSERT
ON test1
FOR EACH ROW WHEN (NEW.col5 >= '01-MAY-16')
DECLARE
PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
IF INSERTING
THEN
MERGE INTO test_hist hist …Run Code Online (Sandbox Code Playgroud) 基表1
交易表
我想根据我的基表 1 更新我的事务表 Brcode。你能帮我解决这个问题吗?
update trans tl
set brcode = (
select brcode
from basetbl tlb
where tl.accountno=tlb.accountno
);
Run Code Online (Sandbox Code Playgroud)
这个查询需要很长时间。