簡體   English   中英

是否可以在SQL的存儲過程中聲明數組變量?

[英]IS it possible to declare a array variable inside a stored procedure of SQL?

我嘗試使用以下代碼,但拋出錯誤。

DECLARE TYPE INPUTVALUES IS VARRAY(5) OF VARCHAR(10);

這是在存儲過程中聲明數組變量的一種方法。

據我所知,關系數據庫沒有數組 它們通常按標量值工作。

有沒有一種方法可以在存儲過程中聲明數組變量。

關於您要實現的目標,這多少有些寬泛。 關於如何實現數組排序的示例如下:

SET @myArray = 'test1,test2,test3'; -- Treat it like an array

SELECT * FROM myTable
WHERE FIND_IN_SET (columnName, @arr);

這是針對MySQL

這是可能的。 您的代碼應這樣寫

TYPE input_values IS TABLE OF VARCHAR2  -- Associative array type
INDEX BY PLS_INTEGER;                  --  indexed by string

v_array  input_values;              -- Associative array variable
i  VARCHAR2(64);                    -- Scalar variable

記筆記:

  • 如果要在存儲過程中聲明數組變量,則無需在塊內編寫DECLARE

  • 如果使用的是ORACLE RDBMS,則通常稱為ASSOCIATIVE ARRAYS。 你可以在這里閱讀更多

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM