手提电脑这几盏利盟e260d指示灯意思是什么意思

查看:2228|回复:2
我有一个问题,不知道是如何,希望有高人能为我解答一下:
我想写一个函数,用来做字符串的拆分,参数是sql的执行结果,可能是多条记录的,希望通过pipe显示出来,代码如下:
CREATE OR REPLACE FUNCTION fn_split_obj (p_tab IN str_table, p_delimiter IN VARCHAR2)
RETURN ty_str_split PIPELINED
&&j INT := 0;
&&i INT := 1;
&&len INT := 0;
&&len1 INT := 0;
&&str VARCHAR2 (4000);
&&p_str VARCHAR2 (4000);
for n in 1 ..p_tab.count loop
&&p_str:=p_tab(n);
&&len := LENGTH (p_str);
&&len1 := LENGTH (p_delimiter);
&&WHILE j & len LOOP
& & j := INSTR (p_str, p_delimiter, i);
& & IF j = 0 THEN
& && & j :=
& && & str := SUBSTR (p_str, i);
& && & PIPE ROW (str);
& && & IF i &= len THEN
& && && & EXIT;
& && & END IF;
& && & str := SUBSTR (p_str, i, j - i);
& && & i := j + len1;
& && & PIPE ROW (str);
& & END IF;
&&END LOOP;
END fn_split_
其中,对象p_tab 无论定义为以下哪种方式:
CREATE OR REPLACE TYPE str_table AS&&VARRAY(375)&&OF&&VARCHAR2(2000);
CREATE OR REPLACE TYPE str_table AS&&table&&OF&&VARCHAR2(2000);
在执行select * from table(fn_split_obj((select id from t_rec_comm where billno='23007'),','));的时候都提示参数类型错误,谁能告诉我,到底应该定义什么样的参数类型呢?
助理工程师
虽然不懂~~但是男人的感觉告诉我应该用游标~~
还有,为什么不把执行的那条sql语句放到一个函数里
我试过了,用游标也是不行的,不过这个问题我已经解决了,可以用WMSYS.WM_CONCAT对结果集进行封装成一条记录,变成一个clob,再把拆分函数改成对clob的拆分就解决了,而且clob的传参对于varchar2和clob都能使用。function中怎么定义输入形参的类型?_matlab吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:151,202贴子:
function中怎么定义输入形参的类型?收藏
比如:我想写一个load(x)函数,形参是一个字符串类型,他的功能是实现读取一个图片并且显示出来;然后这样写:function y=load(x)
a=imread(x);
imshow(a);end假如我的文件夹里有一个名字是1.jpg的图片,命令行里输入load('1.jpg')的时候就会报错:“未定义与 'char' 类型的输入参数相对应的函数 'myfun'。”求帮助!
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或您当前所在位置: >
> 网页设计
形式参数和实际参数的区别
函数的参数是外界与函数内部通信的方法,对于有参函数来说,函数调用时函数有数据传递的关系。下面我们就给大家介绍一下形式参数和实际参数吧!
//调用函数
//定义函数
function max(x:int,y:int):int
如果一个函数有返回值,可使用 return语句,并在定义函数时声明返回值的类型。
上面的代码在函数调用过程中发生了数据传递,先把5和7传递给x和y,再通过比较后返回大的值7,传递给函数max(),所以max(5,7)的值为7。
在定义函数时,括号中的变量称为形式参数(简称形参)。上面定义max()函数时的x和y就是形参。在调用函数时,函数名后面括号中的变量或表达式称为实际参数(简称实参)。如调用max()函数时的5和7。
函数的实参可以是任意数据类型的变量或表达式。
参数对于函数来说是非常重要,一个好的函数其参数应是不多不少。例如,toFixed()函数可以保留小数点的倍数,但它返回的是字符串。下面编写一个返回值是数字的保留小数点的函数:
var a:Number = 2.55555;
//保留两位小数并输出
trace(保留小数点(a,2);
//定义函数
function 保留小数点(a:Number,b:uint):Number
//10的b次方
var t:uint = Math.pow(10,b);
//a*t取整后除t并返回
return Math.round(a*t) /
保留小数点的函数,需要两个参数,一个代表要保留小数点的数值,一个是保留小数点的位数。
对于形参很多的函数,可用对象来代替,下面函数求两点间的距离,用对象p1代表第一个点的坐标,用p2代表第二点的坐标:
//调用函数并把返回值赋值给变量d
//调用时定义两个对象的属性
var d:Numbet = distance({x:100,y:200},{x:100,y:100});
//输出距离
function distace(p1:Object,p2:Object):Number
var x:Number = p1.x - p2.x;
var y:Number = p1.y - p2.y;
var dis:Number = Math.sqrt(x*x + y*y);
定义对象一般有&new Object()&,的形式,但也可通过&{}&运算符来定义对象,如:&{x:100,y:200}&相当于如下代码:
var obj1:Object = new Object();
obj1.x = 100;
obj1.y = 200;
按值还是按引用来传入参数
函数的参数可以是任何数据类型的变量,数据类型分为简单数据类型和复杂数据类型。
按值传入,那么参数对象会复制一份副本供函数内部操作,参数本身不会受影响,按引用传入,则不复制副本,函数内操作参数对象的引用,会改变参数对象的状态。
在AS3中,所有的参数都是按引用传入的。只不过,简单数据类型是不变对象,传引用和传值的效果一样,所以,如果参数是简单数据类型,可看成是传值,如果参数是复杂数据类型,就是传引用。
对于简单数据类型的参数来说,函数调用开始时,发生了从实参向形参的值传递,函数调用结束时形参并未向实参进行值传递,这种数据传递称为值传递。
看下面的测试程序:见例:值传递
var a:int = 1;
trace(&函数调用前,实参a=&+a);
trace(&函数调用后,实参a=&+a);
function test(x):void
trace(&调用函数中,形参x=&+x);
输出结果为:
函数调用前,实参a = 1
调用函数中,形参x = 6
函数调用后,实参a = 1
从测试结果看调用函数时,形参的值开始时是由实参传递来的值1,加5后变为6,但形参的值以身试法后并没有传递给实参,所以函数调用前后实参的值都是1。
函数调用开始时,发生了从实参向形参的数据传递,函数调用结束时形参也向实参进行数据传递,这种数据传递称为引用传递。
看下面的测试程序:见例:传引用
//建立一个对象
var person:Object = new Object();
//动态创建属性age
person.age = 20;
trace(&函数调用前,实参person.age=&+person.age);
test(person);
trace(&函数调用后,实参person.age=&+person.age);
function test(per:Object):void
per.age = 10;
//修改对象的age属性
trace(&函数调用中,形参per.age=&+per.age);
测试结果为:
函数调用前,实参person.age=20
函数调用中,形参per.age=10
函数调用后,实参person.age=10
从结果看出,调用函数前后,实参的值发生了变化。实参把值传递给形参后,形参又把改变的值传递给了实参。
在Flash中对象、数组等复杂数据类型变量是以引用传递的方式来传递数据的。
参数的默认值
AS3新增了两个功能,可以在定义参数时给参数一个默认值,而且可以给函数不确定的参数。
在调用函数时,如果给定的实际参数与形式参数的数目不符,将会提示参数数目不匹配的错误。
例如下面的代码形参有两个,而实参只有一个
//错误:1136:参数个数不正确,应为两个
function test(x:int,y:int):Boolean
return x&y;
这里就可使用参数默认值功能,参数默认值的定义形式为:
function 函数名(参数:数据类型=默认值):数据类型
下面是正确的代码:
function test(x:int,y:int=0):Boolean
return x&y;
在调用函数时,只传递了一个参数,但由于第二个参数有一个0的默认值,实际上是这样调用函数:
test(1,0);
任意数量的参数
在使用trace()函数中可向这个函数传递一到多个任意数据类型的参数。
trace(参数1);
trace(参数1,参数2,参数3);
这种不定数量的参数,在AS3中可以实现,AS3允许给函数设定任意数量的参数:
function 函数名(...参数):数据类型
&...参数&中的&...&代表任意数量,参数名可以是任意合法的变量名。
任意数量参数的使用:
//调用函数
//定义任意数量参数的函数
function test(...arg):void
trace(arg is Array);
任意数量的参数意味着可以有0到多个参数,从输出的结果true可以看出。
下面的代码传递3个参数:
test(1,2,3);
function test(...arg):void
trace(arg);
输出结果为1,2,3,即输出了数组arg中的所有元素。
使用任意数量的参数要注意一点:如果函数有多个参数,任意数量的参数必须写在最后,否则程序人报错..以上就是形式参数和实际参数的内容了。希望大家继续关注我们的网站!
上一篇:下一篇:
本文相关阅读
高校查询分数线
考生所在地
北京天津辽宁吉林黑龙江上海江苏浙江安徽福建山东湖北湖南广东重庆四川陕西甘肃河北山西内蒙古河南海南广西贵州云南西藏青海宁夏新疆江西香港澳门台湾
<option value="
<option value="
<option value="
<option value="
<option value="
<option value="
<option value="
<option value="
<option value="
<option value="
<option value="
地区批次线查询
考生所在地
北京天津辽宁吉林黑龙江上海江苏浙江安徽福建山东湖北湖南广东重庆四川陕西甘肃河北山西内蒙古河南海南广西贵州云南西藏青海宁夏新疆江西香港澳门台湾
科目理科文科综合其他
<option value="
<option value="
<option value="
<option value="
<option value="
<option value="
<option value="
<option value="
<option value="
<option value="
<option value="
院校所在地北京天津辽宁吉林黑龙江上海江苏浙江安徽福建山东湖北湖南广东重庆四川陕西甘肃河北山西内蒙古河南海南广西贵州云南西藏青海宁夏新疆江西香港澳门台湾
其它中央部委
类型工科农业师范民族
层次本科高职(专科)
高考志愿③部曲
频道热门推荐
栏目最新更新VB6当中自定义过程和函数以及参数类型_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
VB6当中自定义过程和函数以及参数类型
上传于||文档简介
&&1,自定义函数与过程的意义。
2,自定义函数与过程的步骤以及调用。
3,自定义函数与过程的参数类型及使用方法。
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩6页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢}

我要回帖

更多关于 mil指示灯是什么意思 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信