这是我家庭作业中的任务之一:
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;