2
我有SP自定义类型:传递多维数组Oracle存储过程
Create Or Replace Type tyTestArrayType As Object
(siF1 SmallInt,
siF2 SmallInt,
siF3 SmallInt);
Create Or Replace Type tyTestArray Is Table Of tyTestArrayType;
Create Or Replace Procedure prTestArray(pArr tyTestArray,
pResult In Out SmallInt)
Is
Begin
pResult := 0;
For I In 1..pArr.Count
Loop
pResult := pResult + pArr(I).siF1 + pArr(I).siF2 + pArr(I).siF3;
End Loop;
End;
如何使用从PHP(OCI8)这个程序(通过多维数组)?
谢谢,
更新:
这是红宝石执行此代码:作为输入
plsql.connection = OCI8.new("user","pass","host/XE")
testArray = [{:sif1 => 1, :sif2 => 12, :sif3=>4},{:sif1 => 5, :sif2 => 2, :sif3=>3}]
puts plsql.prTestArray(p_testArray,0) #=> {:presult=>27}
该数组有一个维度,所以它不是多维的。 – kubanczyk 2012-01-15 19:48:02
是的,但我需要传递tyTestArrayTypes的数组: pArr = array(tyTestArrayType,tyTestArrayType,tyTestArrayType ...) – Savash 2012-01-16 11:34:39