【问题标题】:ORA-00900: invalid SQL statement in SQLORA-00900: SQL 中的 SQL 语句无效
【发布时间】: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)中执行此代码。我看不到日志(仅获取错误代码)。反正我可以看到日志吗?

标签: oracle plsql


【解决方案1】:

Scs_integration ( 中的额外空格怎么样。
会是这样吗?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-29
    • 2011-07-17
    • 2019-10-17
    • 1970-01-01
    • 2011-01-21
    • 2023-03-21
    • 2017-05-12
    • 1970-01-01
    相关资源
    最近更新 更多