现需创建一个这样的存诸过程
用查询出来的值作为条件,当值大于X时执行insert into语句, 当值小于X时10分后再重新执行查询语句或结束。
麻烦高手指点
用查询出来的值作为条件,当值大于X时执行insert into语句, 当值小于X时10分后再重新执行查询语句或结束。
麻烦高手指点
解决方案 »
- 怎么使用C#读取数据库视图user_views的text字段?数据类型为long,现在读取到C#后显示空
- oracle 数据库建库
- 如何让Oracle启动时自动加载自定义的初始化参数配置文件
- Timestamp的问题,大伙进来讨论讨论
- 请问如何把从oracle取出来的数据AdoRecordset保存为.dbf文件和.xls文件
- 查询oracle数据库(调用存储过程)用多表连接性能好还是把单个表查询结果放在游标中一个个比较性能好(数据库很大)?多谢。
- 低手求救,在次谢过!!!
- 作业调度失败,请问为何?
- 谁能帮帮我?如何把oracle 的客户端连接程序单独打包
- 一个老问题,sqlplus连接报错:协议适配器错误,请帮帮忙,谢谢!
- 冰天雪地,赤身裸体,单腿倒立求助!!!!!!!!!!!!!!!!!
- 求Oracle中英对照资料
-- 根据你给的需求:
CREATE OR REPLACE PROCEDURE SP_TEST_XX_NEW IS
COUNTS NUMBER;
V_STEP VARCHAR2(100) := '';
BEGIN
V_STEP := 'GETTING SUM AMOUNT VALUE';
SELECT COUNT(*)
INTO COUNTS
FROM C_T_CDMA_TRANSINFO
WHERE TO_CHAR(INSERT_TIME, 'YYYYMMDDHH24MI') BETWEEN
TO_CHAR(SYSDATE - 1 / 288, 'YYYYMMDDHH24MI') AND
TO_CHAR(SYSDATE, 'YYYYMMDDHH24MI')
AND FLAG_RESULT = 1;
V_STEP := 'MATCHING DATA WITH XX';
DBMS_OUTPUT.PUT_LINE('CURRENTLY DATE IS: '||SYSDATE);
IF COUNTS > 100 THEN
-- THE COUNT WHICH LARGER THAN 100
INSERT INTO TKM.TRIPARTY_MT_MID (FID,FTOPID,FSRVCODE) VALUES (77,'DGDX','DX14') ;
COMMIT;
ELSE
-- THE COUNT WHICH LESS THAN OR EQUAL TO 100
DBMS_OUTPUT.PUT_LINE('CURRENTLY START DATE IS: '||SYSDATE);
DBMS_LOCK.SLEEP(600);
V_STEP := 'CALLING PROCEDURE AGAIN TO MATCH DATA WITH 100';
EXECUTE IMMEDIATE 'CALL SP_TEST_XX_NEW';
DBMS_OUTPUT.PUT_LINE('CURRENTLY END DATE IS: '||SYSDATE);
END IF;EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('Error at: '||V_STEP);
DBMS_OUTPUT.PUT_LINE(SQLCODE || ' : '||SQLERRM);END ;
DECLARE
v_ss INT;
BEGIN
v_ss := to_number(to_char(SYSDATE,'ss'));--取得秒
dbms_output.put_line(to_char(SYSDATE,'yyyymmddhh24miss'));
IF v_ss <=30 THEN
dbms_output.put_line('30秒之內');
ELSE
dbms_output.put_line('30秒之外');
dbms_lock.sleep(10);--10秒鐘之後再執行
dbms_output.put_line(to_char(SYSDATE,'yyyymmddhh24miss'));
END IF;
END ;
能用到过程里嘛??