正文重要引见“怎样察看oralce的湮没参数并在SQLPLUS窗口中表露”。在凡是操纵中,断定很多人对于怎样察看oralce的湮没参数以及SQLPLUS窗口的打字与印刷方法都有疑义。边肖查看了百般材料,整治出大略易用的操纵本领,蓄意能扶助大师回答“怎样察看oralce的湮没参数并在SQLPLUS窗口表露”的迷惑!接下来,请和边肖一道进修!

功效:用来查问10g和11g中隐式参数的值,重要经过SQLPLUS窗口中的打字与印刷方法举行查问。

请提防,Cn_Batch_Length的值不确定树立得太大。

作家:stotf

功夫:2020年3月28日。

createorreplaceffective f _ Imp _ Param(name invar char 2)returnvarchar 2 is

VC _ termvarchar 2(100);-用来参数替代。

Vc _ ResultLong-归来查问截止。

VC _ sqlvarchar 2(4000);-设置sql。

Cur _ KkSys _ Refcursor-参考光标。

cn _ Batch _ length constantpls _ integer :=300;-设置查问行数的最大值。

v _ NumNumber :=0;-行号

-设置列题目。

VC _ ParameterVarchar 2(100):= PARAMETER ;

VC _ Session _ VaLueVarChar 2(100):= Session _ VaLue ;

VC _ INSTANCE _ VaLueVarChar 2(100):= INSTANCE _ VaLue ;

VC _ Is _ Session _ modifielablevarchar 2(100):= Is _ Session _ modified ;

VC _ IS _ SYStem _ modifielablevarchar 2(100):= IS _ SYStem _ modified ;

-记载列的最大本质长度。

TypeLength_ColIsRecord(

ParaNumber:=长度(Vc_Parameter),

对话号:=长度(Vc_Session_Value),

InstNumber:=长度(Vc_Instance_Value),

Is _ Sess _ ModNumber:=长度(Vc _ Is _ Session _可窜改),

Is _ Sys _ ModNumber:=长度(Vc _ Is _ System _ modified));

Rec _ LengthLength _ Col

-设置与查问列配合的记载。

TypeRec_ResultIsRecord(

Parameter X$ksppi.Ksppinm%Type,

 Session_Value X$ksppcv.Ksppstvl%Type,

 Instance_Value X$ksppsv.Ksppstvl%Type,

 Is_Session_Modifiable Varchar2(10),

 Is_System_Modifiable Varchar2(10));

  设置寄存截止的table

 Type Tab_Result Is Table Of Rec_Result;

 Typ_Tab Tab_Result;

Begin

  处置参数,即使发端没有加下划线,则加上

 If Substr(Name, 1, 1) =  _  Then

 Vc_Term :=  /  || Lower(Name);

 Else

 Vc_Term :=  /_  || Lower(Name);

 End If;

 Vc_Sql :=  Select a.Ksppinm  Parameter ,

 b.Ksppstvl  Session Value ,

 c.Ksppstvl  Instance Value ,

 Decode(Bitand(a.Ksppiflg / 256, 1), 1,  TRUE ,  FALSE ) Is_Session_Modifiable,

 Decode(Bitand(a.Ksppiflg / 65536, 3),

 1,

  IMMEDIATE ,

 2,

  Deferred ,

 3,

  IMMEDIATE ,

  FALSE ) Is_System_Modifiable

 From X$ksppi a, X$ksppcv b, X$ksppsv c

 Where a.Indx = b.Indx

 And a.Indx = c.Indx

 And a.Ksppinm Like :name Escape  /

 Open Cur_Kk For Vc_Sql

 Using Vc_Term ||  %

  轮回截止,找到每一列本质值的最大长度

 Fetch Cur_Kk Bulk Collect

 Into Typ_Tab Limit Cn_Batch_Length;

 For i In 1 .. Typ_Tab.Count Loop

 If Length(Typ_Tab(i).Parameter)   Rec_Length.Para Then

 Rec_Length.Para := Length(Typ_Tab(i).Parameter);

 End If;

 If Length(Typ_Tab(i).Session_Value)   Rec_Length.Sess Then

 Rec_Length.Sess := Length(Typ_Tab(i).Session_Value);

 End If;

 If Length(Typ_Tab(i).Instance_Value)   Rec_Length.Inst Then

 Rec_Length.Inst := Length(Typ_Tab(i).Instance_Value);

 End If;

 If Length(Typ_Tab(i).Is_Session_Modifiable)   Rec_Length.Is_Sess_Mod Then

 Rec_Length.Is_Sess_Mod := Length(Typ_Tab(i).Is_Session_Modifiable);

 End If;

 If Length(Typ_Tab(i).Is_System_Modifiable)   Rec_Length.Is_Sys_Mod Then

 Rec_Length.Is_Sys_Mod := Length(Typ_Tab(i).Is_System_Modifiable);

 End If;

 End Loop;

 Close Cur_Kk;

 Dbms_Output.Put_Line( 总记载数:  || Typ_Tab.Count);

  输入列头

 Vc_Result :=  NO   || Rpad(Vc_Parameter, Rec_Length.Para + 2,    ) ||

 Rpad(Vc_Session_Value, Rec_Length.Sess + 2,    ) ||

 Rpad(Vc_Instance_Value, Rec_Length.Inst + 2,    ) ||

 Rpad(Vc_Is_Session_Modifiable,

 Rec_Length.Is_Sess_Mod + 2,

    ) || Rpad(Vc_Is_System_Modifiable,

 Rec_Length.Is_Sys_Mod + 2,

     || Chr(10));

  输入记载

 For i In 1 .. Typ_Tab.Count Loop

 v_Num := v_Num + 1;

  字符后贯穿一个空格的字符,提防null值对长度计划的感化

 Vc_Result := Vc_Result || Rpad(To_Char(v_Num), 6,    ) ||

 Rpad(Typ_Tab(i).Parameter ||    , Rec_Length.Para + 2,    ) ||

 Rpad(Typ_Tab(i).Session_Value ||    ,

 Rec_Length.Sess + 2,

    ) || Rpad(Typ_Tab(i).Instance_Value ||    ,

 Rec_Length.Inst + 2,

    ) ||

 Rpad(Typ_Tab(i).Is_Session_Modifiable ||    ,

怎么查看oralce隐含参数并在SQLPLUS窗口格式化输出 第1张

 Rec_Length.Is_Sess_Mod + 2,

    ) || Rpad(Typ_Tab(i).Is_System_Modifiable ||    ,

 Rec_Length.Is_Sys_Mod + 2,

    ) || Chr(10);

 End Loop;

 Dbms_Output.Put_Line(Vc_Result);

 Return  总记载数:  || v_Num;

Exception

 When Others Then

 Return  ERROR:   || Sqlcode || Sqlerrm;

End;

到此,对于“如何察看oralce隐含参数并在SQLPLUS窗口方法化输入”的进修就中断了,蓄意不妨处置大师的迷惑。表面与试验的搭配能更好的扶助大师进修,快去试试吧!若想连接进修更多关系常识,请连接关心网站,小编会连接全力为大师带来更多适用的作品!