麻煩再幫我看一個東東: 編譯錯誤(又一篇)

[复制链接]
查看11 | 回复6 | 2014-2-18 16:41:11 | 显示全部楼层 |阅读模式
請JAUNT給我瞧瞧哦
SQL>create or replace package secusr.customer_security is
2 function customer_sec
3 return varchar2;
4 end;
5create or replace package body secusr.customer_security
6is
7 function customer_sec(d1 varchar2,d2 varchar2)
8 return varchar2
9is
10begin
11 if SYS_CONTEXT('USERENV','SESSION_USER') IN('SYS','SYSTEM','SECUSR') THEN
12 RETURN NULL;
13 ELSE
14 return 'CUSTOMER_ID='''||SYS_CONTEXT('CUSTOMER_CONTEXT','CUSTOMER_ID') || '''';
15 end if;
16 end;
17 end;
18/
警告: 所建立的包裹程式含有編譯錯誤
SQL> show err
PACKAGE SECUSR.CUSTOMER_SECURITY 發生錯誤:
LINE/COL ERROR
-------- -----------------------------------------------------------------
5/3PLS-00103: 發現了符號 "CREATE"
回复

使用道具 举报

千问 | 2014-2-18 16:41:11 | 显示全部楼层
package 和package body 要分开建立。
第5 行创建package body 前,先输入一个“/”,先提交package 。
回复

使用道具 举报

千问 | 2014-2-18 16:41:11 | 显示全部楼层
我這樣做了,可是現在問題變成這樣了:
SQL>create or replace package secusr.customer_security is
2 function customer_sec
3 return varchar2;
4 end;
5/
包裹程式已被建立
SQL>create or replace package body secusr.customer_security
2 is
3function customer_sec(d1 varchar2,d2 varchar2)
4return varchar2
5 is
6 begin
7if SYS_CONTEXT('USERENV','SESSION_USER') IN('SYS','SYSTEM','SECUSR') THEN
8RETURN NULL;
9ELSE
10return 'CUSTOMER_ID='''||SYS_CONTEXT('CUSTOMER_CONTEXT','CUSTOMER_ID') || '''';
11end if;
12end;
13end;
14/
警告: 所建立的包裹程式主體含有編譯錯誤
SQL> show err
PACKAGE BODY SECUSR.CUSTOMER_SECURITY 發生錯誤:
LINE/COL ERROR
-------- -----------------------------------------------------------------
2/11 PLS-00323: 子程式或游標 CUSTOMER_SEC'
已在套裝規格中被宣告而且必須在套裝主體中定義
回复

使用道具 举报

千问 | 2014-2-18 16:41:11 | 显示全部楼层
jaunt今天是不是沒有上班啊,沒有人幫我看拉!!!
回复

使用道具 举报

千问 | 2014-2-18 16:41:11 | 显示全部楼层
package body 中的函数必须在package 中定义。在package 中定义的时候,同样要把入参、出参、返回值等等,都要定义出来。
回复

使用道具 举报

千问 | 2014-2-18 16:41:11 | 显示全部楼层
具体点说,你创建package 时,定义函数应该是:
function customer_sec(d1 varchar2,d2 varchar2)[/COLOR] return varchar2
回复

使用道具 举报

千问 | 2014-2-18 16:41:11 | 显示全部楼层
哇,老大就是老大,一出手問題就解決拉,哈哈,厲害啊,佩服中!!!!!!!!!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行