小弟近来开始学习oracle,因为以前的一套系统基于SQLServer2000,现在必须重新写存储过程
我的Oracle存储过程如下
//Package
Generated by AdventNet SwisSQL (SQLServer To oracle) Conversion tool.*/
CREATE OR REPLACE PACKAGE GLOBALPKG
AS
TYPE RCT1 IS REF CURSOR;
TRANCOUNT INTEGER := 0;
IDENTITY INTEGER;
END;//我的存储过程
CREATE OR REPLACE PROCEDURE SysLog_GetList
(
RCT1 IN OUT GLOBALPKG.RCT1
)
AS
BEGIN
OPEN RCT1 FOR
SELECT
LogTime,
LogType,
UserID,
LogIP
FROM SysLog
ORDER BY LogTime DESC,
UserID ASC,
LogType ASC,
LogIP ASC;
END;系统提示创建成功,这个过程的功能就是读取登录日志
现在的问题是我怎么在SQLPLUS里运行 查看执行的结果
就像是在SQLServer的查询分析器中执行EXEC SysLog_GetList一样
但是在SQLplus中老是提示错误
我的Oracle存储过程如下
//Package
Generated by AdventNet SwisSQL (SQLServer To oracle) Conversion tool.*/
CREATE OR REPLACE PACKAGE GLOBALPKG
AS
TYPE RCT1 IS REF CURSOR;
TRANCOUNT INTEGER := 0;
IDENTITY INTEGER;
END;//我的存储过程
CREATE OR REPLACE PROCEDURE SysLog_GetList
(
RCT1 IN OUT GLOBALPKG.RCT1
)
AS
BEGIN
OPEN RCT1 FOR
SELECT
LogTime,
LogType,
UserID,
LogIP
FROM SysLog
ORDER BY LogTime DESC,
UserID ASC,
LogType ASC,
LogIP ASC;
END;系统提示创建成功,这个过程的功能就是读取登录日志
现在的问题是我怎么在SQLPLUS里运行 查看执行的结果
就像是在SQLServer的查询分析器中执行EXEC SysLog_GetList一样
但是在SQLplus中老是提示错误
RCT1 GLOBALPKG.RCT1;
begin
GLOBALPKG.SysLog_GetList(RCT1);
end;
/
*
ERROR 位于第 4 行:
ORA-06550: 第 4 行, 第 11 列:
PLS-00302: 必须说明 'SYSLOG_GETLIST' 组件
ORA-06550: 第 4 行, 第 1 列:
PL/SQL: Statement ignored
AS
BEGIN
SELECT
LogTime,
LogType,
UserID,
LogIP
FROM "SA"."SysLog"
ORDER BY LogTime DESC,
END;这里面有啥错误?
declare
RCT1 GLOBALPKG.RCT1;
begin
GLOBALPKG.SysLog_GetList(RCT1);
end;
exec syslog_getlist(:rct1);