存儲過程定義數(shù)組并遍歷 oracle數(shù)組長度?
oracle數(shù)組長度?declaretype array uuype是數(shù)組(5)中的數(shù)字(2)a array uype:=數(shù)組uype(5,5,5,5)begin對于1中的i..a.count循環(huán)DB
oracle數(shù)組長度?
declare
type array uuype是數(shù)組(5)中的數(shù)字(2)
a array uype:=數(shù)組uype(5,5,5,5)
begin
對于1中的i..a.count循環(huán)
DBMSu輸出.PUT行(a(I))
結(jié)束循環(huán)
結(jié)束
/
記住,數(shù)組的最大長度是5。我已經(jīng)為你初始化了5個數(shù)據(jù)。如果我給你最初的三個數(shù)據(jù),那么數(shù)組的實際長度是3。如果您輸入一個(4),數(shù)組將超出邊界。下面是一種擴展數(shù)組的方法:
declare type arrayuuType是數(shù)組(5)的數(shù)字(2)
a arrayuType:=arrayuType()
begin
for i in 1..5 loop
a.extend
a(i):=i
end loop
for i in 1..a.count loop DBMSu輸出.PUT行(a(I))
結(jié)束循環(huán)
結(jié)束
/
當然,也可以使用a.extend(5)直接擴展5(擴展長度不能大于5)
您錯誤理解類型a是數(shù)字(2)的數(shù)組(5),它只聲明一個數(shù)據(jù)類型(數(shù)組類型)
此時您的a和數(shù)字(2)的含義相同
a數(shù)組類型:=數(shù)組類型(5,5,5,5,5) 這是定義一個數(shù)組變量a
首先需要定義一個數(shù)組類型,然后定義數(shù)組變量
declare
typeauuuTypeIsTableOfNumber
--typeauuTypeIsArray(10)of number
--下面的定義指定數(shù)組中的最大元素數(shù)
AAuuType:=auType()--定義并初始化數(shù)組變量
begin
a.extend(3)--將數(shù)組擴展到3元素
a(1):=1
a(2):=10
a(3):=100
結(jié)束
此外,數(shù)組有以下方法和屬性
first--第一個元素下標
last--最后一個元素下標
count--數(shù)組元素數(shù)
prior(n)--上一個元素的下標n
next(n)--下一個元素的下標n
extend(n)--添加n個數(shù)組元素,添加一個不帶參數(shù)的數(shù)組元素
delete(n)--刪除數(shù)組中下標為n的元素,刪除整個不帶參數(shù)的數(shù)組元素
oracle中的數(shù)組有哪些?
首先需要定義一個數(shù)組類型,然后定義數(shù)組變量declaretype auType is table of number--type auType is array(10)of numberuType:=auType()--定義并初始化數(shù)組變量開始延伸(3) --數(shù)組擴展為三個元素a(1):=1a(2):=10A(3):=100end。此外,數(shù)組還有以下方法和屬性:first--first element subscript last--last element subscript count--數(shù)組元素個數(shù)prime(n)--subscript next(n)--subscript extend(n)--添加n個數(shù)組元素,添加一個不帶參數(shù)的數(shù)組元素delete(n)--刪除數(shù)組中下標為n的元素數(shù)組中,刪除沒有參數(shù)的整個數(shù)組元素
這樣不行,數(shù)組內(nèi)容必須先在存儲過程中定義數(shù)組類型,然后給出定義的數(shù)據(jù)類型來定義數(shù)組類型變量。存儲過程的輸入?yún)?shù)是不可能的。通常,采用string方法,每個項都用一個特定的分隔符傳入。然后,根據(jù)存儲過程中的分隔符解析每個項,并將其插入存儲過程定義的數(shù)組的每個項中。