这是我的家庭作业任务中的任务之一:
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
答案 0 :(得分:8)
DEFINE是一个SQLPLUS的东西,因此除了COMMAND窗口之外,PLSQL Developer不支持它。对于sql / test窗口,只需删除它(它会看到&并为你提供一个弹出窗口供你定义)。
答案 1 :(得分:0)
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;