0

我目前正在使用 Apex 20.4 并尝试根据来自另一个页面(向导)的变量插入一行由于我使用的是 Snowflake ODBC,我不能只使用标准 DML 提交操作。我所做的查询,请注意@snowflakecomputing 部分是正确的,我可以使用类似查询在交互式网格中进行插入。

begin declare
v_current_time date := sysdate;
v_user_id varchar(50) := :APP_USER;
v_type varchar(20) := 'CLIENT';
--v_status varchar(1) := :APEX$ROW_STATUS;

v_continent varchar(50) := :P11_continent;
v_country_code varchar(2) := :P11_country_code;
v_region varchar(20) := :P11_region;
v_province varchar(50) := :P11_province;
v_city varchar(50) := :P11_city;
v_postalcode varchar(15) := :P11_postalcode;
v_address_line_1 varchar(50) := :P11_address_line_1;
v_address_line_2 varchar(50) := :P11_address_line_2;
v_latitude number := :P11_latitude;
v_longitude number := :P11_longitude;
begin
execute immediate
     'begin 
        insert into dwh_pl.geographic@snowflakecomputing (continent, country_code, region, province, city, postalcode, address_line_1, address_line_2,
                        latitude, longitude, type, creation_date, user_id)
         values (:1, :2, :3, :4, :5, :6, :7, :8, :9, :10, :11, :12, :13);
         commit;
     end;'
     using v_continent,
           v_country_code,
           v_region, 
           v_province, 
           v_city, 
           v_postalcode, 
           v_address_line_1, 
           v_address_line_2, 
           v_latitude, 
           v_longitude, 
           v_type, 
           v_current_time, 
           v_user_id;
end;
end;

我收到的错误:隐藏错误附加信息,因为它包含 ORA 错误消息:ORA-01403:未找到数据

这很奇怪,我在表单中显示相同的变量,这就是为什么我确定参数包含我需要的数据的原因。我的问题是,我是否缺少某些东西,例如需要包含的变量

谢谢你。

4

1 回答 1

0

显然你可以在插入数据的时候使用提交动作,不需要使用PL/SQL。我认为在 Apex 中使用自定义驱动程序有点麻烦,“有时它可以工作,有时没有任何更改它就不起作用”

于 2022-02-23T08:24:12.140 回答