SQL包:应为子规范
在我的SQL包的最后一行出现了一个错误 语法错误。部分识别的规则(预期子规范) 我已经检查了几次代码,但都找不到错误,因为对我来说一切都是有意义的/SQL包:应为子规范,sql,oracle,plsql,oracle-sqldeveloper,Sql,Oracle,Plsql,Oracle Sqldeveloper,在我的SQL包的最后一行出现了一个错误 语法错误。部分识别的规则(预期子规范) 我已经检查了几次代码,但都找不到错误,因为对我来说一切都是有意义的/ PROCEDURE p_get_stmfrd_rel_records(asd IN NUMBER, pc_recordset OUT SYS_REFCURSOR) IS BEGIN OPEN pc_recordset FOR SELECT NVL(LOGNO, 0) LOGNO
PROCEDURE p_get_stmfrd_rel_records(asd IN NUMBER, pc_recordset OUT SYS_REFCURSOR)
IS
BEGIN
OPEN pc_recordset FOR
SELECT NVL(LOGNO, 0) LOGNO
,NVL(INSTANCENO, 0) INSTANCENO
,RELEASE_BUILD
,SCRIPT_NAME
,NVL(VERSION, 0) VERSION
,NVL(REQUEST, 0) REQUEST
,COMMENTS
,NVL(GLUSDBT1_DEPLOYDATE, '1-Jan-0001') GLUSDBT1_DEPLOYDATE
,NVL(GLUSDBR1_DEPLOYDATE, '1-Jan-0001') GLUSDBR1_DEPLOYDATE
,NVL(GLUSDBP1_DEPLOYDATE, '1-Jan-0001') GLUSDBP1_DEPLOYDATE
FROM (SELECT dlog.LOGNO
,DLOGDET.INSTANCENO
,DLOG.RELEASEID AS RELEASE_BUILD
,DLOG.FILENAMEEXT_VC AS SCRIPT_NAME
,DLOG.VERSION
,DLOG.REQUEST
,DLOG.NOTE AS COMMENTS
,DLOGDET.DEPLOYDATE
,INST.INSTANCEID
FROM ADM_DEPLOYMENTLOG DLOG
JOIN ADM_DEPLOYMENTLOGDETAIL DLOGDET
ON DLOG.LOGNO = DLOGDET.LOGNO AND DLOGDET.CANCELEDIND = 'N'
LEFT OUTER JOIN ADM_INSTANCE INST
ON DLOGDET.INSTANCENO = INST.INSTANCENO
AND INST.SITEID = 'STM'
AND INST.CANCELEDIND = 'N')
PIVOT
(MAX (TRUNC (DEPLOYDATE))
AS DEPLOYDATE
FOR INSTANCEID
IN ('GLUSDBT1' AS GLUSDBT1
,'GLUSDBR1' AS GLUSDBR1
,'GLUSDBP1' AS GLUSDBP1));
END p_get_stmfrd_rel_records;
PROCEDURE p_insert_stmfrd_rel_records(
DeployDate IN DATE,
LogNO IN NUMBER,
InstanceNO IN NUMBER
) IS
vNum number;
BEGIN
select count(1)
into vNum
FROM ADM_DEPLOYMENTLOGDETAIL
WHERE INSTANCENO = InstanceNO
AND LOGNO = LogNO
AND DEPLOYDATE IS NOT NULL;
IF vNum > 0
THEN
BEGIN
UPDATE ADM_DEPLOYMENTLOGDETAIL
SET DEPLOYDATE = DeployDate
WHERE INSTANCENO = InstanceNO
AND LOGNO = LogNO;
END;
ELSE
BEGIN
INSERT INTO ADM_DEPLOYMENTLOGDETAIL(
LOGDETAILNO,
DEPLOYDATE,
STATUSID,
CANCELEDIND,
INSTANCENO
)
VALUES (
ADM_DEPLOYMENTLOGDETAILNO_SQL.NEXTVAL,
DeployDate,
'D',
'N',
InstanceNO
);
END;
END IF;
END p_insert_stmfrd_rel_records;
标记您正在使用的dbms。该代码是特定于产品的。Im使用Oracle SQL Developer 4完整代码是否包括
创建或替换包
和匹配的结束
?它是用SQL*Plus编译的吗?看来SQL Developer无法解析它,而不是实际代码中的任何错误。顺便说一句,它是PL/SQL包,不是SQL包。