ITPub博客

首页 > 数据库 > Oracle > 小心保留字

小心保留字

原创 Oracle 作者:LuiseDalian 时间:2014-01-16 07:50:02 0 删除 编辑

点击(此处)折叠或打开

  1. --开发时要注意一些变量是否是系统自带的函数,否则容易出错(10下运行有问题, 11g完全没有问题)
  2. --系统当前时间为2014-01-01
  3. DROP TABLE t1;
  4. CREATE TABLE t1
  5. (
  6.   arrangement_id NUMBER(9) NOT NULL,
  7.   duty_id NUMBER(9) NOT NULL,
  8.   order_id NUMBER(9) NOT NULL,
  9.   order_name VARCHAR2(50) NOT NULL,
  10.   duty_date DATE NOT NULL
  11. );

  12. DROP TABLE t2;
  13. CREATE TABLE t2
  14. (
  15.   arrangement_id NUMBER(9) NOT NULL,
  16.   staff_id NUMBER(9) NOT null
  17. );
  18. INSERT INTO t1 (arrangement_id, duty_id, order_id, order_name, duty_date)
  19.   VALUES (1, 1, 1, \'白班\', to_date(\'30-12-2013\', \'dd-mm-yyyy\'));
  20. INSERT INTO t1 (arrangement_id, duty_id, order_id, order_name, duty_date)
  21.   VALUES (2, 1, 1, \'白班\', to_date(\'31-12-2013\', \'dd-mm-yyyy\'));
  22. INSERT INTO t1 (arrangement_id, duty_id, order_id, order_name, duty_date)
  23.   VALUES (3, 1, 1, \'白班\', to_date(\'01-01-2014\', \'dd-mm-yyyy\'));
  24. INSERT INTO t1 (arrangement_id, duty_id, order_id, order_name, duty_date)
  25.   VALUES (4, 1, 2, \'夜班\', to_date(\'02-01-2014\', \'dd-mm-yyyy\'));
  26.   
  27. INSERT INTO t2 (arrangement_id, staff_id) values (1, 2);
  28. INSERT INTO t2 (arrangement_id, staff_id) values (2, 2);
  29. INSERT INTO t2 (arrangement_id, staff_id) values (3, 2);
  30. INSERT INTO t2 (arrangement_id, staff_id) values (4, 2);
  31. COMMIT;

  32. SET serveroutput ON;
  33. DECLARE
  34.   v_arrangement_id NUMBER(9) :=2;
  35.   v_duty_id NUMBER(9) :=1;
  36.   current_date t1.duty_date%TYPE;
  37. BEGIN
  38.   SELECT duty_date INTO current_date FROM t1 WHERE arrangement_id = v_arrangement_id;
  39.   FOR r in (SELECT t1.arrangement_id FROM t1 WHERE duty_date >=TRUNC(current_date) AND duty_id = v_duty_id
  40.              AND EXISTS (SELECT 1 FROM t2 WHERE t2.arrangement_id = t1.arrangement_id)) LOOP
  41.     dbms_output.put_line(r.arrangement_id);
  42. END LOOP;
  43. END;
  44. /

  45. 2
  46. 3
  47. 4

  48. PL/SQL procedure successfully completed.

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/17013648/viewspace-1071272/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 关于OR
下一篇: 函数索引陷阱
请登录后发表评论 登录
全部评论

注册时间:2012-02-06

  • 博文量
    1986
  • 访问量
    6040856