能否將Oracle資料庫的欄位設為數組類型?

王林
發布: 2024-01-22 15:57:12
轉載
430 人瀏覽過

能否將Oracle資料庫的欄位設為數組類型?

oracle資料庫欄位能設定成數組類型嗎

當char和nchar欄位填入空資料時,資料庫會自動使用全空格代替,使得not null約束變得毫無意義。因此,如果欄位不能為空,則必須在程式中提前進行判斷。

2.char 和nchar因為長度固定,據說讀寫的速度比 varchar和nvarchar快 .

大概有25 種資料型態:

Binary [(n)],Varbinary [(n)],Char[(n)],Varchar[(n)],Nchar[(n)],Nvarchar[(n)],Datetime,Smalldatetime,Decimal [(p[,s])],Numeric[(p[,s])],Float[(n)],Real,Int,Smallint,Tinyint,Money,Smallmoney,Bit,CursorSysname,Timestamp,Uniqueidentifier,Text, Image,Ntext。

陣列名稱資料型別元素名

這可能是三個相關的名詞,首先是數組名。數組名是指用來標識一個數組的名稱。在程式設計中,為了區分不同的數組,我們需要為它們取一個名字。例如,我們可以為數組a、b、c1等取名,以便在程式中使用和區分它們。

陣列的元素是指儲存在陣列中的各個資料項。為了方便使用和區分不同的元素,我們需要為它們命名。在數組中,我們使用數組名加上下標來命名每個元素。下標從0開始,所以數組a[]的第一個元素是a[0],第二個是a[1],以此類推。透過下標,我們可以準確地存取和操作數組中的每個元素。

資料型別是資料的分類,用來反映現實世界中不同類型的事物。不同程式語言對資料類型的分類可能有所不同。

就這樣,朋友.不知這樣說是否能讓你明白.呵呵.

資料庫為什麼沒有陣列

陣列是程式語言裡面的概念。

資料庫,尤其是現在主流的“關係型資料庫”,是專門用來存放表結構的。

所以標準的SQL語言,主要針對的是資料查詢修改。

資料庫裡表的功能,已經夠強大。可以定義多個不同類型的列,甚至可以直接定義它是否允許重複等等。

這樣的情況下,再強調陣列的概念就沒有任何意義了。因為資料庫的用途不是編程,而是對資料進行管理。

如2樓所言。 oracle所謂的定義數組,是因為它自帶了plsql,也就是以標準sql語言為基礎,以過程為導向的一種程式語言。這種語言可以寫一些procedure,function,package等等。

我們觀察可以發現,plsql在使用上,就是一種過程導向的語言。它和普通sql語句的使用還是有極大的不同。因此它需要可以自訂一些東西。例如遊標,例如參數,例如變量,例如回傳值等等。

-------------------------------

所以你明白了吧,一般資料庫使用的SQL語言裡沒有明確的直接定義「陣列」的概念,是因為用途的不同。而plsql等用於程式設計的部分,則是有類似定義的。

----------------------------------------------- ---------------

補充說明,oracle表結構允許違反第一範式。但個人認為這並無推廣意義。

java如何將資料庫中某一個int類型欄位的值以數組的形式提取出來

import java.sql.*;

#import java.util.Vector;

public class Test {

public static void main(String[] args) {

String strQuery = "SELECT * FROM rkd";

int[] id = getID(strQuery);

//輸出測試id陣列

for(int e : id){

System.out.println(e);

}

}

/**

* 根據查詢字串取得編號數組

* @param strQuery 查詢字串

* @return 編號陣列

*/

public static int[] getID(String strQuery) {

int[] id = null;

try {

//查詢資料庫中的會員id

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

Connection conn = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=Exam01","sa","123456");

Statement stat = conn.createStatement();

ResultSet rs = stat.executeQuery(strQuery);

//將所有id存入臨時變數vect中

Vectorvect = new Vector(); while(rs.next()){ vect.add(rs.getInt(1)); } //將所有id轉存到陣列中 id = new int[vect.size ()]; for(int i=0; i id[i] = Integer.parseInt(vect.get(i).toString()); } } catch (Exception e) { e.printStackTrace(); } return id ; } }

以上是能否將Oracle資料庫的欄位設為數組類型?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:docexcel.net
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!