时间:2021-07-01 10:21:17 帮助过:738人阅读
存储过程的内容如下,主要是传入一个表名字和一个数字类型的返回值。
那么能得到表的行数。
CreateOr Replace Procedure p_Emp_Cnt(t In Varchar2, Num Out Number) Is v_Sql Varchar2(600); Lv_Cnt Number; Begin Select Count(*) Into Lv_Cnt From User_Tables Where Upper(Table_Name) = Upper(t); If Lv_Cnt > 0 Then v_Sql := ‘Select Count(*) From ‘ || t; Execute Immediate v_Sql Into Num; End If; End;
调用过程如下:
Declare Num Number; Begin p_emp_cnt(‘t1‘,Num); dbms_output.put_line(Num); End; /
实验过程中包括两个步骤:
1、自定义常量数据:
这个步骤定义了两个列,一个列是表名,另外一个列是空值(用来接收返回值)
如下图所示:
2、调用DB存储过程
这个步骤需要连接到目标数据库,并且需要通过前面的步骤得到参数名称。
调用过程之后得到返回值。
3、预览数据
如下图所示,得到每个表中到底有多少行。
调用存储过程的步骤总结,你只需要写传入的表名就可以了。比如说我的生成常量记录中只有一列。
那么只需要把这列内容传入到过程中即可。
预览数据得到结果:
本文出自 “名字长一点会好记” 博客,请务必保留此出处http://xiaoyiyi.blog.51cto.com/1351449/1766836
使用Kettle调用数据库中的存储过程
标签:etl kettle