2011-11-29 11G新功能:PL/SCOPE
http://www.itpub.net/thread-1499223-20-1.html
197楼
我在当前会话把PL/Scope打开:
ALTERSESSIONSETplscope_settings='identifiers:all'/
然后我创建了这个包头:
CREATEORREPLACEPACKAGEplch_pkgISPROCEDUREdo_stuff;ENDplch_pkg;/
下列哪些查询实现了一个包体,从而使得下列的查询:
SELECTname,usageFROMuser_identifiersWHEREobject_name='PLCH_PKG'ANDtypeIN('PROCEDURE','FUNCTION')ORDERBYusage/
会输出这些结果:
NAMEUSAGE---------------------DO_STUFFCALLDO_STUFFDECLARATIONDO_STUFFDECLARATIONDO_STUFFDEFINITIONDO_STUFFDEFINITION
(A)
CREATEORREPLACEPACKAGEBODYplch_pkgISPROCEDUREdo_stuff(number_inINNUMBER)ISBEGINNULL;ENDdo_stuff;PROCEDUREdo_stuffISBEGINNULL;ENDdo_stuff;ENDplch_pkg;/
SQL>SELECTname,usage2FROMuser_identifiers3WHEREobject_name='PLCH_PKG'4ANDtypeIN('PROCEDURE','FUNCTION')5ORDERBYusage6/NAMEUSAGE-------------------------------------------------------------------------------------------DO_STUFFDECLARATIONDO_STUFFDECLARATIONDO_STUFFDEFINITIONDO_STUFFDEFINITIONSQL>
(B)
CREATEORREPLACEPACKAGEBODYplch_pkgISPROCEDUREdo_stuffISBEGINNULL;ENDdo_stuff;ENDplch_pkg;/
SQL>SQL>SELECTname,usage2FROMuser_identifiers3WHEREobject_name='PLCH_PKG'4ANDtypeIN('PROCEDURE','FUNCTION')5ORDERBYusage6/NAMEUSAGE-------------------------------------------------------------------------------------------DO_STUFFDECLARATIONDO_STUFFDEFINITIONSQL>
(C)
CREATEORREPLACEPACKAGEBODYplch_pkgISPROCEDUREdo_stuff(number_inINNUMBER)ISBEGINNULL;ENDdo_stuff;PROCEDUREdo_stuffISBEGINdo_stuff(1);ENDdo_stuff;ENDplch_pkg;/
SQL>SELECTname,usage2FROMuser_identifiers3WHEREobject_name='PLCH_PKG'4ANDtypeIN('PROCEDURE','FUNCTION')5ORDERBYusage6/NAMEUSAGE-------------------------------------------------------------------------------------------DO_STUFFCALLDO_STUFFDECLARATIONDO_STUFFDECLARATIONDO_STUFFDEFINITIONDO_STUFFDEFINITIONSQL>
(D)
CREATEORREPLACEPACKAGEBODYplch_pkgISPROCEDUREdo_stuff(number_inINNUMBER)ISBEGINNULL;ENDdo_stuff;PROCEDUREdo_stuffISBEGINNULL;ENDdo_stuff;BEGINdo_stuff(1);ENDplch_pkg;/
SQL>SELECTname,usage2FROMuser_identifiers3WHEREobject_name='PLCH_PKG'4ANDtypeIN('PROCEDURE','FUNCTION')5ORDERBYusage6/NAMEUSAGE-------------------------------------------------------------------------------------------DO_STUFFCALLDO_STUFFDECLARATIONDO_STUFFDECLARATIONDO_STUFFDEFINITIONDO_STUFFDEFINITIONSQL>
答案说明在202楼
2011-11-29 答案CD
A:在此选项中do_stuff被重载,所以DECLARATION 和 DEFINITION的显示行数是正确的。但是,并没有对do_stuff的调用。
B:为了使得DECLARATION 和 DEFINITION各显示两行,do_stuff必须被重载。
C:既有重载又有调用,正确。
D:同上,只是调用的地方不同。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。