当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中文网其他相关文章!