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



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

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

根据任务要求,应使用定义语句声明 countryid 并应赋予默认值 CA,然后应根据用户输入的值执行选择。
当我运行脚本时,我收到 4 个错误,当我注释掉定义国家 id = CA脚本成功执行。
我的问题:定义语句在PL/SQL开发人员中可用吗?
如果是,我做错了什么,你能建议一个正确的用法吗?

编辑:我收到以下错误:

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

DEFINE 是一个 SQLPLUS 的东西,因此除了在 COMMAND 窗口中之外,PLSQL Developer 不支持它。 对于 SQL/test 窗口,只需将其删除(它会看到 & 并为您提供一个弹出窗口供您以这种方式定义它)。

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

定义国家/地区 ID ='CA'宣country_record国家%行类型;开始 选择* INTO country_record 来自国家 其中 country_id = '&国家/地区ID';结束;

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

最新更新