當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表結構允許違反第一範式。但個人認為這並無推廣意義。
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中文網其他相關文章!