在PL / SQL开发人员中使用define语句

时间:2012-11-29 12:05:59

标签: sql oracle plsqldeveloper psql

这是我的家庭作业任务中的任务之一:

DEFINE countryid = CA
DECLARE 
country_record countries%ROWTYPE;
BEGIN
  SELECT *
  INTO country_record
  FROM countries
  WHERE country_id = '&countryid';
END;

根据任务要求 countryid应使用define语句声明,并且应该给出默认值CA ,然后应根据用户输入的值执行select。
当我运行脚本时,我得到4个错误,当我注释掉DEFINE countryid = CA时 脚本成功执行。
我的问题:是PL / SQL Developer中可用的定义语句吗?  如果是,我做错了什么,你能建议正确使用吗?

编辑:我收到以下错误:

ORA-06550 row 3 column 8
PLS-00201 identificator 'COUNTRY_RECORD' have to be declared
ORA-06550 row 4 column 3
PL/SQL ORA-00904: invalid identificator
ORA-06550 row 2 column 3
PL/SQL SQL statement ignored

3 个答案:

答案 0 :(得分:8)

DEFINE是一个SQLPLUS的东西,因此除了COMMAND窗口之外,PLSQL Developer不支持它。对于sql / test窗口,只需删除它(它会看到&并为你提供一个弹出窗口供你定义)。

答案 1 :(得分:0)

在PLSQL Developer中,您可以使用此代码,但使用命令窗口

DEFINE countryid ='CA' 宣布 country_record countries%ROWTYPE; 开始   选择 *   INTO country_record   来自国家   WHERE country_id ='& countryid'; END;

答案 2 :(得分:0)

DEFINE countryid = CA
DECLARE 
country_record countries%ROWTYPE;
BEGIN
  SELECT *
  INTO country_record
  FROM countries
  WHERE country_id = :countryid;
END;