sql - PLS-00302:必须声明组件“VARIABLE_SKU_ID”
问题描述
我正在尝试将我的查询结果存储到一个变量中,以便我可以在另一个查询中使用它,但出现错误
create procedure store_validated_sku_id
("variable_sku_id" VARCHAR2)
as
BEGIN
SELECT vsku.SKU_ID INTO store_validated_sku_id.variable_sku_id
FROM vs_sku_discont_details_test discontd,vsx_dcs_sku vsku,auto_ship_view bcc
where discontd.sku_id = vsku.JDA_SKU_ID
and bcc.sku_id = vsku.SKU_ID AND vsku.web_eligible = 1
and vsku.discontinued =0 and bcc.auto_ship_eligible is null;
END store_validated_sku_id;
/
在编译器日志中出现以下错误:
Error(5,1): PL/SQL: SQL Statement ignored
Error(5,49): PLS-00302: component 'VARIABLE_SKU_ID' must be declared
Error(5,65): PL/SQL: ORA-00904: : invalid identifier
解决方案
放在variable_sku_id
双引号之间使标识符名称区分大小写。
删除双引号,应该没问题(我已将您的查询更改为使用 ANSI-92 语法 - 将所有内容放在FROM
子句中都是过时的旧式 Oracle 语法,应避免使用):
create procedure store_validated_sku_id
(variable_sku_id VARCHAR2)
as
BEGIN
SELECT vsku.SKU_ID INTO store_validated_sku_id.variable_sku_id
FROM vs_sku_discont_details_test discontd
JOIN vsx_dcs_sku vsku
ON discontd.sku_id = vsku.JDA_SKU_ID
JOIN auto_ship_view bcc
ON bcc.sku_id = vsku.SKU_ID
WHERE vsku.web_eligible = 1
AND vsku.discontinued = 0
AND bcc.auto_ship_eligible is null;
END store_validated_sku_id;
推荐阅读
- sql - 在 case 语句中选择特定值
- python - 将几个列表排序在一起
- angular - Angular Form 控件在组件初始化时无效,没有任何操作
- android - Android Gradle 插件 3.6.0 增加了调试应用程序的大小
- python - QGraphicsPathItem的shape方法中的问题
- android - 带有 RecyclerView 的 Android Kotlin DialogFragment
- scrapy - Scrapinghub 部署失败
- java - 防止在java swing JTextField上输入字符
- reactjs - 找不到模块:无法解析“@date-io/date-fns”
- objective-c - 在 XCode9 上运行单元测试目标返回“早期意外退出”错误