oracle 雕用object 方法问题 创建了一个 type
Create Or Replace Type Tp_Tb1_Object As Object
(
Sk Varchar2(20),
Sv Varchar2(20), Member Function Tb1_Delete Return Varchar2
)Create Or Replace Type Body Tp_Tb1_Object Is Member Function Tb1_Delete Return Varchar2 Is
S1 Varchar2(200);
Begin
S1 := '';
S1 := 'delete tb1 Where k=''100'''; Execute Immediate S1;
Commit;
Return '000';
Exception When Others Then
Return '001';
End;End;//=============外部调用 object 方法 通过测试Begin
Declare
m2 TP_TB1_OBJECT;
s1 Varchar(500);
Begin
m2 := TP_TB1_OBJECT('100','YYY');
s1:=m2.tb1_Delete; dbms_output.put_line(s1);
End;
End;
//=========问题代码 测试出异常
Function Generate_DYH ( sRoleCode Varchar2 ) Return Varchar2 Is
s1 Varchar2(50);
m1 Tp_Tb1_Object;
Begin
s1:=sRoleCode;
m1 := Tp_Tb1_Object('100','AAA');
s1:= m1.Tb1_Delete;
Return s1 ;
End; 执行:
Select Generate_DYH('aaa') From dual
请教各位
谢谢
Create Or Replace Type Tp_Tb1_Object As Object
(
Sk Varchar2(20),
Sv Varchar2(20), Member Function Tb1_Delete Return Varchar2
)Create Or Replace Type Body Tp_Tb1_Object Is Member Function Tb1_Delete Return Varchar2 Is
S1 Varchar2(200);
Begin
S1 := '';
S1 := 'delete tb1 Where k=''100'''; Execute Immediate S1;
Commit;
Return '000';
Exception When Others Then
Return '001';
End;End;//=============外部调用 object 方法 通过测试Begin
Declare
m2 TP_TB1_OBJECT;
s1 Varchar(500);
Begin
m2 := TP_TB1_OBJECT('100','YYY');
s1:=m2.tb1_Delete; dbms_output.put_line(s1);
End;
End;
//=========问题代码 测试出异常
Function Generate_DYH ( sRoleCode Varchar2 ) Return Varchar2 Is
s1 Varchar2(50);
m1 Tp_Tb1_Object;
Begin
s1:=sRoleCode;
m1 := Tp_Tb1_Object('100','AAA');
s1:= m1.Tb1_Delete;
Return s1 ;
End; 执行:
Select Generate_DYH('aaa') From dual
请教各位
谢谢
解决方案 »
- win2003server中安装oracle10g,通过系统服务启动数据库有问题
- WIN 7下数据库的一些问题
- 救救我吧
- OMWB迁移数据的问题
- 创建同义词问题
- 数据库中有一个aa用户,导出了该用户的所有,用system导入,怎样才能不导到system用户下,而是aa用户下
- 在win2000里ORACLE数据库不能自动启动,请大虾帮忙看看!!!
- 大家讨论一下滥用触发器会给系统带来什么危害
- 用什么方法能在select子句中计算布尔表达式
- 我是来找组织的,这里有oracle sales cloud的实施人员吗?
- 存储过程调用问题......急!!!!
- 升级到orcale8i后,DBA对导入用户无法授权!
Commit;这几句, 应该改成
S1 := 'delete tb1 Where k=''100'';Commit;';Execute Immediate S1;
/
Create Or Replace Type Tp_Tb1_Object As Object
(
Sk Varchar2(20),
Sv Varchar2(20),Member Function Tb1_Delete Return Varchar2
)
/
Create Or Replace Type Body Tp_Tb1_Object IsMember Function Tb1_Delete Return Varchar2 Is
S1 Varchar2(200);
Begin
S1 := '';
S1 := 'delete tb1 Where k=''100'''; Execute Immediate S1;
Commit;
Return '000';
Exception When Others Then
Return '001';
End;End;/
Declare
m2 TP_TB1_OBJECT;
s1 Varchar(500);
Begin
m2 := TP_TB1_OBJECT('100','YYY');
s1:=m2.tb1_Delete; dbms_output.put_line(s1);
End;
/create or replace Function Generate_DYH ( sRoleCode Varchar2 ) Return Varchar2 Is
s1 Varchar2(50);
m1 Tp_Tb1_Object;
Begin
s1:=sRoleCode;
m1 := Tp_Tb1_Object('100','AAA');
s1:= m1.Tb1_Delete;
Return s1 ;
End;/
--执行查询
Select Generate_DYH('aaa') From dual
--执行结果001