Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi SQL und CREATE TABLE... (https://www.delphipraxis.net/9148-sql-und-create-table.html)

Ricane 19. Sep 2003 10:22


SQL und CREATE TABLE...
 
Moin,

ich möchte mit einer AdoQuery und dem Befehl "Create Table" eine Tabelle anlegen... das ist ja eigentlich auch kein Problem...

Folgender Code funktioniert wunderbar...

SQL-Code:
CREATE TABLE CARS (ID INT, E1 VarChar(50), E2 VarChar(50), E3 VarChar(50), E4 VarChar(50), E5 VarChar(50), E6 VarChar(50), E7 VarChar(50), E8 VarChar(50), E9 VarChar(50), E10 VarChar(50), E11 VarChar(50), E12 VarChar(50), Pro12 VarChar(50), Pro34 VarChar(50), Pro56 VarChar(50), Pro78 VarChar(50), Pro910 VarChar(50), Pro1112 VarChar(50));
Aber ich möchte gerne das das Feld ID automatisch hochgezählt wird... eigentlich gibt es ja die Eigenschaft "Auto Increment"...

Aber wie soll das funktionieren?

Folgende Sachen habe ich schon probiert...

SQL-Code:
CREATE TABLE CARS (ID INT AUTO_INCREMENT, E1 VarChar(50), [...]
CREATE TABLE CARS (ID INT AUTO-INCREMENT, E1 VarChar(50), [...]
CREATE TABLE CARS (ID INT AUTO INCREMENT, E1 VarChar(50), [...]
CREATE TABLE CARS (ID INT AUTOINCREMENT, E1 VarChar(50), [...]
CREATE TABLE CARS (ID INT AUTOINC, E1 VarChar(50), [...]
CREATE TABLE CARS (ID INT INCREMENT, E1 VarChar(50), [...]
CREATE TABLE CARS (ID INT INC, E1 VarChar(50), [...]
Sowie alle oberen Ausdrücke in eckiger und runder Klammer... funzt aber alles nicht... Hat jemand eine Idee?!


Ricane

r_kerber 19. Sep 2003 10:48

Re: SQL und CREATE TABLE...
 
Hallo Ricane,

Probiere mal:
SQL-Code:
CREATE TABLE CARS (ID AUTOINCREMENT, E1 VarChar(50), [...]
Klappt aber nicht bei allen Datenbanken. ORACLE kennt keine AUTOINC-Werte und bei Informix heißen die SERIAL.

Ricane 19. Sep 2003 10:52

Re: SQL und CREATE TABLE...
 
Das funzt auch nicht, denn dann fängt er an zu weinen das er den Datentyp AUTOINCREMENT nicht kennt....

[EDIT]
PS: Ich will auf einer SQL - Datenbank schreiben...
[/EDIT]

Ricane

Sharky 19. Sep 2003 10:57

Re: SQL und CREATE TABLE...
 
Zitat:

Zitat von Ricane
..[EDIT]
PS: Ich will auf einer SQL - Datenbank schreiben...
[/EDIT]
Ricane

Hai,

auf welcher Datenbank denn?

Ricane 19. Sep 2003 11:03

Re: SQL und CREATE TABLE...
 
Hä?

Das ist doch eigentlich egal, wie der Datenbank - Name ist... oder habe ich die Frage nicht richtig verstanden ?!


Ricane

Alfons_G 19. Sep 2003 11:11

Re: SQL und CREATE TABLE...
 
SQL-Datenbanken gibt es viele, Interbase, Sybase, MS SQL-Server, Oracle, MySQL, SAP DB, PostgreSQL, und, und und ...
Alle diese Datenbanken haben eine unterschiedliche SQL-Syntax. Sie kennen unterschiedliche Feldtypen und Argumente für Befehle wie CREATE TABLE. Deshalb kann man Dir nur einen Rat geben, wenn man weis, WELCHE Datenbank, also welches Fabrikat, Version usw. Du verwendest.

Ob Du über ADO, ODBC, BDE oder welche Schnittstelle auch imer auf die Datenbank zugreifst, ist in diesem Zusammenhang völlig wurscht. Es kommt darauf an, dass Deine Datenbank den CREATE TABLE-Befehl mit den jeweiligen Argumenten versteht.

:coder:

Sharky 19. Sep 2003 11:13

Re: SQL und CREATE TABLE...
 
Zitat:

Zitat von Ricane
Hä?
Das ist doch eigentlich egal, wie der Datenbank - Name ist... oder habe ich die Frage nicht richtig verstanden ?!
Ricane

Jep :chat:

ORACLE
MS-SQL
mySQL
.
.
usw.

Sind alles SQL-Datenbanken. Aber trotzdem haben sie unterschiedliche Befehle für gewisse Funktionen.
Wie r_kerber z.B. geschrieben hat kennt ORACLE von hause aus kein AutoInc.

r_kerber 19. Sep 2003 11:13

Re: SQL und CREATE TABLE...
 
Zitat:

Zitat von Ricane
Das ist doch eigentlich egal, wie der Datenbank - Name ist... oder habe ich die Frage nicht richtig verstanden ?!

Die Frage lautete: Welches DBMS? Also: ORACLE, INFORMIX, DB2, MS SQL-Server, Access, ...

Der ANSI-SQL-Befehlssatz kennt nämlich keine AUTOINC-Felder. Einige DBMS unterstützen dies trotzdem mit unterschiedlichen Namen!

Ricane 19. Sep 2003 11:17

Re: SQL und CREATE TABLE...
 
Es handelt sich um eine MS - SQL Datenbank ...

Sharky 19. Sep 2003 11:26

Re: SQL und CREATE TABLE...
 
Zitat:

Zitat von Ricane
Es handelt sich um eine MS - SQL Datenbank ...

Der MS-SQL-Server macht das in seinen Script so:

[id] [int] IDENTITY (1, 1) NOT NULL,

Sprich: Feld id vom Typ Integer ist ein Identity Feld, Zählwert startet bei 1 und wird in einerschritten erhöht. Feld darf nicht leer (NULL) sein.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:51 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz