【发布时间】:2015-12-18 06:04:01
【问题描述】:
我试图通过在我的存储过程中传递我的实例的登录详细信息来获取数据。我收到 ORA-00900: invalid SQL statement 错误。
我的程序是:
DECLARE
v_row_count NUMBER;
BEGIN
SELECT Count(*)
INTO v_row_count
FROM erp_cloud_extract;
dbms_output.Put_line('Original count: '
||v_row_count);
DELETE erp_cloud_extract;
COMMIT;
SELECT Count(*)
INTO v_row_count
FROM erp_cloud_extract;
dbms_output.Put_line('Deleted count: '
||v_row_count);
Scs_integration (
'https://example.com/analytics-ws/saw.dll?SoapImpl=nQSessionService',
'https://example.com/analytics-ws/saw.dll?SoapImpl=xmlViewService',
'/shared/Cloud_Exports/', 'user_id', 'password', 'Table_Name',
'Column0:VARCHAR2(100)|Column1:VARCHAR2(100)|Column2:VARCHAR2(100)|Column3:VARCHAR2(100)|Column4:FLOAT|Column5:VARCHAR2(100)'
);
SELECT Count(*)
INTO v_row_count
FROM erp_cloud_extract;
dbms_output.Put_line('Refreshed count: '
||v_row_count);
END;
这里的 Scs_integration 是我的通用过程的名称。请帮忙看看这个过程有什么问题?
【问题讨论】:
-
仅通过查看代码无法找到错误。您需要发布完整的错误堆栈。在 SQL*Plus 中执行并发布错误堆栈。它将具有确切的行号。如果错误在被调用的过程中,则发布过程代码。此外,要获取已删除的行数,您应该使用
SQL%ROWCOUNT。 -
DELETE erp_cloud_extract;必须是DELETE from erp_cloud_extract;吗? -
@zedfoxus 不,语法没问题。
DELETE table删除所有行。 -
@LalitKumarB 啊,明白了。今天学到了新东西。谢谢。
-
@LalitKumarB 我正在前端云环境(oracle Apex)中执行此代码。我看不到日志(仅获取错误代码)。反正我可以看到日志吗?