Kann ein Oracle-Datenbankfeld auf einen Array-Typ festgelegt werden?

王林
Freigeben: 2024-01-22 15:57:12
nach vorne
437 Leute haben es durchsucht

Kann ein Oracle-Datenbankfeld auf einen Array-Typ festgelegt werden?

Können Oracle-Datenbankfelder auf den Array-Typ eingestellt werden

Wenn die Felder char und nchar mit leeren Daten gefüllt sind, verwendet die Datenbank stattdessen automatisch alle Leerzeichen, wodurch die Nicht-Null-Einschränkung bedeutungslos wird. Wenn ein Feld daher nicht leer sein darf, muss dies vorab im Programm beurteilt werden.

2. Da die Länge von char und nchar fest ist, heißt es, dass die Lese- und Schreibgeschwindigkeit schneller ist als die von varchar und nvarchar.

Es gibt etwa 25 Datentypen:

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.

Array-Name-Datentyp-Elementname

Dies können drei verwandte Substantive sein, das erste ist der Array-Name. Der Array-Name bezieht sich auf den Namen, der zur Identifizierung eines Arrays verwendet wird. Um verschiedene Arrays zu unterscheiden, müssen wir ihnen beim Programmieren einen Namen geben. Beispielsweise können wir Arrays a, b, c1 usw. benennen, um sie im Programm zu verwenden und zu unterscheiden.

Die Elemente eines Arrays beziehen sich auf die einzelnen im Array gespeicherten Datenelemente. Um die Verwendung und Unterscheidung verschiedener Elemente zu erleichtern, müssen wir sie benennen. In einem Array benennen wir jedes Element mit dem Array-Namen und einem Index. Indizes beginnen bei 0, das erste Element des Arrays a[] ist also a[0], das zweite ist a[1] und so weiter. Durch die Subskription können wir auf genau jedes Element in einem Array zugreifen und es bearbeiten.

Datentyp ist eine Klassifizierung von Daten, die verwendet wird, um verschiedene Arten von Dingen in der realen Welt widerzuspiegeln. Verschiedene Programmiersprachen können Datentypen unterschiedlich klassifizieren.

Das ist es, Freund. Ich weiß nicht, ob du das verstehen kannst, wenn du das sagst.

Warum gibt es kein Array in der Datenbank? Array ist ein Konzept in der Programmiersprache.

Datenbanken, insbesondere die derzeit gängigen „relationalen Datenbanken“, werden speziell zum Speichern von Tabellenstrukturen verwendet.

Die Standard-SQL-Sprache zielt also hauptsächlich auf die Abfrage und Änderung von Daten ab.

Die Funktionen der Tabellen in der Datenbank sind leistungsstark genug. Sie können mehrere Spalten unterschiedlichen Typs definieren und sogar direkt festlegen, ob Duplikate usw. zulässig sind.

In diesem Fall macht es keinen Sinn, das Konzept der Arrays hervorzuheben. Denn der Zweck einer Datenbank ist nicht die Programmierung, sondern die Datenverwaltung.

Wie im 2. Stock erwähnt. Oracle definiert Arrays, weil es mit plsql geliefert wird, einer prozessorientierten Programmiersprache, die auf der Standard-SQL-Sprache basiert. Diese Sprache kann einige Prozeduren, Funktionen, Pakete usw. schreiben.

Wir können beobachten, dass plsql eine prozessorientierte Sprache ist. Es unterscheidet sich immer noch stark von der Verwendung gewöhnlicher SQL-Anweisungen. Es muss also etwas Anpassbares sein. Zum Beispiel Cursor, Parameter, Variablen, Rückgabewerte usw.

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

Sie verstehen also, dass die von gewöhnlichen Datenbanken verwendete SQL-Sprache das Konzept des „Arrays“ aufgrund unterschiedlicher Verwendungszwecke nicht klar und direkt definiert. Die für die Programmierung verwendeten Teile wie plsql haben ähnliche Definitionen.

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

Zusätzliche Erklärung: Die Oracle-Tabellenstruktur darf die erste Normalform verletzen. Ich persönlich denke aber, dass das keine werbliche Bedeutung hat.

So extrahieren Sie den Wert eines Felds vom Typ int in der Datenbank in Form eines Arrays in Java

java.sql.* importieren;

java.util.Vector importieren;

öffentlicher Klassentest {

public static void main(String[] args) {

String strQuery = "SELECT * FROM rkd";

int[] id = getID(strQuery);

//Test-ID-Array ausgeben

for(int e : id){

System.out.println(e);

}

}

/**

* Rufen Sie das Zahlenarray basierend auf der Abfragezeichenfolge ab

* @param strQuery-Abfragezeichenfolge

* @Rückgabenummern-Array

*/

public static int[] getID(String strQuery) {

int[] id = null;

versuchen {

//Fragen Sie die Mitglieds-ID in der Datenbank ab

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);

//Alle IDs in der temporären Variablen vect speichern

Vectorvect = new Vector(); while(rs.next()){ vect.add(rs.getInt(1) } //Alle IDs in das Array kopieren 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; } }

Das obige ist der detaillierte Inhalt vonKann ein Oracle-Datenbankfeld auf einen Array-Typ festgelegt werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:docexcel.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage