佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 1128|回复: 2

PL/SQL - error problem

[复制链接]
nateliewong 该用户已被删除
发表于 1-5-2005 05:30 PM | 显示全部楼层 |阅读模式
hi, 我 是 PL/SQL 新 手 , 在 这 有 些 问 题 要 你 们 帮 我 解 决 。 我 是 用  ORACLE -SQL* PLUS 来 输 入 以 下 的 句 子 , 可 是 却 出 现 ERROR 问 题 , 所 以 想 请 教 你 们 帮 我 解 决 这 问 题 可 以 吗 ?


DECLARE

value           NUMBER(6);
username  VARCHAR2(30) ;
hobbies   VARCHAR2(500);
address   VARCHAR2(500);

CURSOR  hobbies_cur IS SELECT username,hobbies FROM userinfo  WHERE REGEXP_LIKE(hobbies, '(base|foot)([[:space:]]){0,}ball([^.]*)cricket','i')  ;

CURSOR  hobbies_music_cur IS SELECT username,hobbies FROM userinfo  WHERE REGEXP_LIKE(hobbies, 'music|violin|guitar|sing(er|ing)','i') ;

CURSOR  address_cur IS SELECT username, hobbies, REGEXP_SUBSTR(address, ',[^,]+',1,2) FROM userinfo ;

BEGIN
value := &choice ;
  IF ( value = 1) THEN
   
    OPEN hobbies_cur;
    DBMS_OUTPUT.PUT_LINE('----------------------------------------------------------');
    DBMS_OUTPUT.PUT_LINE('Searching who play either football OR baseball AND cricket');
    DBMS_OUTPUT.PUT_LINE('User Name                Hobbies                          ');
    DBMS_OUTPUT.PUT_LINE('----------------------------------------------------------');

    LOOP
      FETCH hobbies_cur INTO username, hobbies ;
      -- Exit the loop when there are no more records in the cursor
      EXIT WHEN hobbies_cur%NOTFOUND;
      DBMS_OUTPUT.PUT_LINE(username || '             '|| hobbies);
    END LOOP ;

    CLOSE hobbies_cur;

  ELSIF ( value = 2) THEN
    OPEN hobbies_music_cur;
    DBMS_OUTPUT.PUT_LINE('-----------------------------------------------');
    DBMS_OUTPUT.PUT_LINE('Searching for users who are interested in music');
    DBMS_OUTPUT.PUT_LINE('User Name                Hobbies               ');
    DBMS_OUTPUT.PUT_LINE('-----------------------------------------------');
    LOOP
      FETCH hobbies_music_cur INTO username, hobbies ;
      EXIT WHEN hobbies_music_cur%NOTFOUND;
      DBMS_OUTPUT.PUT_LINE(' '|| username || '             '|| hobbies);
    END LOOP ;

    CLOSE hobbies_music_cur;
  
  ELSIF ( value = 3) THEN
    OPEN address_cur;
    DBMS_OUTPUT.PUT_LINE('------------------------------------------------------------');
    DBMS_OUTPUT.PUT_LINE('Retrieve the location information for all the users in the table') ;
    DBMS_OUTPUT.PUT_LINE('User Name          Location            Hobbies              ');
    DBMS_OUTPUT.PUT_LINE('------------------------------------------------------------');
   
    LOOP
      FETCH address_cur INTO username, hobbies ,address ;
      EXIT WHEN address_cur%NOTFOUND;
      DBMS_OUTPUT.PUT_LINE(' '|| username || '           '||  address|| '         '||hobbies);
    END LOOP ;

    CLOSE address_cur;

  -- If the input values is other than 1,2 and 3 then print an error message
  ELSE
    DBMS_OUTPUT.PUT_LINE('------------------------------------------------------------');
    DBMS_OUTPUT.PUT_LINE('Invalid input. Run the script again and enter a valid choice');
    DBMS_OUTPUT.PUT_LINE('------------------------------------------------------------');
  END IF;
END;
/


它 出 现 的 ERROR 是
Enter value for choice: 1
old  15: value := &choice ;
new  15: value := 1 ;
CURSOR  hobbies_cur IS SELECT username,hobbies FROM userinfo  WHERE REGEXP_LIKE(hobbies, '(base|foot)([[:space:]]){0,}ball([^.]*)cricket','i')  ;
                                                                                                                                                 *
ERROR at line 8:
ORA-06550: line 8, column 145:
PL/SQL: ORA-00920: invalid relational operator
ORA-06550: line 8, column 24:
PL/SQL: SQL Statement ignored
ORA-06550: line 10, column 136:
PL/SQL: ORA-00920: invalid relational operator
ORA-06550: line 10, column 30:
PL/SQL: SQL Statement ignored
回复

使用道具 举报


ADVERTISEMENT

nateliewong 该用户已被删除
 楼主| 发表于 1-5-2005 05:32 PM | 显示全部楼层

PL/SQL

有谁是 PL/SQL 高 手
回复

使用道具 举报

发表于 3-5-2005 09:13 AM | 显示全部楼层
可能你使用的不是10g的DATABASE, Regular Expressions到10G是才有。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 23-11-2024 12:22 PM , Processed in 0.092255 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表