sql數組變數
Ⅰ 如何在sql中聲明一個數組變數以及相關SQL語
集合:是具有相同定義的元素的聚合。Oracle有兩種類型的集合:
可變長數組(VARRAY):可以有任意數量的元素,但必須預先定義限制值。
嵌套表:視為表中之表,可以有任意數量的元素,不需要預先定義限制值。
在PL/SQL中是沒有數組(Array)概念的。但是如果程序員想用Array的話,就得變通一下,用TYPE 和Table of Record來代替多維數組,一樣挺好用的。
emp_type 就好象一個table 中的一條record 一樣,裡面有id, name,gender等。emp_type_array 象個table, 裡面含有一條條這樣的record (emp_type),就象多維數組一樣。
--單維數組
DECLARE
TYPE emp_ssn_array IS TABLE OF NUMBER
INDEX BY BINARY_INTEGER;
best_employees emp_ssn_array;
worst_employees emp_ssn_array;
BEGIN
best_employees(1) := '123456';
best_employees(2) := '888888';
worst_employees(1) := '222222';
worst_employees(2) := '666666';
FOR i IN 1..best_employees.count LOOP
DBMS_OUTPUT.PUT_LINE('i='|| i || ', best_employees= ' ||best_employees(i)
|| ', worst_employees= ' ||worst_employees(i));
END LOOP;
END;
--多維數組
DECLARE
TYPE emp_type IS RECORD
( emp_id employee_table.emp_id%TYPE,
emp_name employee_table.emp_name%TYPE,
emp_gender employee_table.emp_gender%TYPE );
TYPE emp_type_array IS TABLE OF emp_type INDEX BY BINARY_INTEGER;
emp_rec_array emp_type_array;
emp_rec emp_type;
BEGIN
emp_rec.emp_id := 300000000;
emp_rec.emp_name := 'Barbara';
emp_rec.emp_gender := 'Female';
emp_rec_array(1) := emp_rec;
emp_rec.emp_id := 300000008;
emp_rec.emp_name := 'Rick';
emp_rec.emp_gender := 'Male';
emp_rec_array(2) := emp_rec;
FOR i IN 1..emp_rec_array.count LOOP
DBMS_OUTPUT.PUT_LINE('i='||i
||', emp_id ='||emp_rec_array(i).emp_id
||', emp_name ='||emp_rec_array(i).emp_name
||', emp_gender = '||emp_rec_array(i).emp_gender);
END LOOP;
END;
-------------- Result --------------
i=1, emp_id =300000000, emp_name =Barbara, emp_gender = Female
i=2, emp_id =300000008, emp_name =Rick, emp_gender = Male
Ⅱ tp3.2怎樣把查詢出來的sql數組賦值給變數
用遍歷
$urls=array();
if($b){
while($row_b=mysql_fetch_array($b)){
$urls[]=$row_b;
}
print_r($urls);
Ⅲ PLSQL 定義含有多個欄位的數組類型變數
可以把用戶的多個信息封裝成一個自定義的屬性。
假設我們的用戶含有:姓名,年齡以及性別屬性
自定義屬性:
TYPE user_info_type IS RECORD(
user_name VARCHAR2(20),
user_age NUMBER(3),
user_sex VARCHAR2(5));1234
然後我們就可以直接使用這個屬性來創建數組了!
TYPE user_info_arr_type IS TABLE OF user_info_type INDEX BY BINARY_INTEGER;
user_info_arr user_info_arr_type;12
完整的測試代碼如下:
-- PLSQL 定義含有多個欄位的數組類型變數
DECLARE TYPE user_info_type IS RECORD(
user_name VARCHAR2(20),
user_age NUMBER(3),
user_sex VARCHAR2(5)); TYPE user_info_arr_type IS TABLE OF user_info_type INDEX BY BINARY_INTEGER;
user_info_arr user_info_arr_type;BEGIN
user_info_arr(0).user_name := '張三';
user_info_arr(0).user_age := 19;
user_info_arr(0).user_sex := '男';
user_info_arr(1).user_name := '李菁菁';
user_info_arr(1).user_age := 23;
user_info_arr(1).user_sex := '女'; FOR i IN 0 .. 1
LOOP
dbms_output.put_line('User Name:' || user_info_arr(i).user_name);
dbms_output.put_line('User Age:' || user_info_arr(i).user_age);
dbms_output.put_line('User Sex:' || user_info_arr(i).user_sex); END LOOP;END;
輸出結果:
User Name:張三
User Age:19
User Sex:男
User Name:李菁菁
User Age:23
User Sex:女
這樣我們就創建了一個含有多個欄位的數組類型變數了!
Ⅳ SQL資料庫中如何定義數組
SQL資料庫中是沒有數組的。SQL資料庫只要定義數據類型,存儲過程,事物,變數等等。
SQL Server 是Microsoft 公司推出的關系型資料庫管理系統。具有使用方便可伸縮性好與相關軟體集成程度高等優點,可跨越從運行Microsoft Windows 98 的膝上型電腦到運行Microsoft Windows 2012 的大型多處理器的伺服器等多種平台使用。
Microsoft SQL Server 是一個全面的資料庫平台,使用集成的商業智能 (BI)工具提供了企業級的數據管理。Microsoft SQL Server 資料庫引擎為關系型數據和結構化數據提供了更安全可靠的存儲功能,使用戶可以構建和管理用於業務的高可用和高性能的數據應用程序。
Ⅳ SQL語句可以聲明使用數組么
SQL語句可以聲明使用數組,聲明方法為:
1、先定義一個數組,數組內容是一些數字,可以對應為數據表裡的id列。