Einzelnen Beitrag anzeigen

Robert_G
(Gast)

n/a Beiträge
 
#3

Re: Unterschiede beim Insert, Create und Update????

  Alt 29. Jun 2004, 17:32
Zitat:
Sind die Create und Insert Statements bei Oracle anders als bei anderen Anbietern?
Sie sind sich ziemlich ähnlich, aabeeeer....

Ein Oracle-DBA wird dich mit Anlauf aus dem Fenster werfen, wenn du Varchar statt Varchar2, 10 "normale" Indizes anstatt 2 oder 3 Bitmap-Indizes, BLob für Texte anstatt CLob bzw CLob für Binärdaten anstatt BLob nimmst, usw. .
Nimmst du LONG für lange Texte, ist es sofort aus.


Wie gut kennst du dich mit den DB-internen Sprachen für Trigger, SPs & co aus?
Genau hier versagen sämtliche Tools zur DB-konvertierung, die ich bis jetzt gesehen habe.
Du hast schneller 100 Monster-DBs aufgesetzt als ein Tool zu programmiert, dass diese Sprachen ineinander "übersetzen" kann. (Das wäre auch ein Mammutprojekt )

Was ich damit sagen will, du musst ein Profi in allen DBs sein, die du untertützen willst. Schließlich musst du auch ihre Vorzüge und Macken kennen (Ein falscher Indextyp/Spaltentyp und Ora wird zur Schnecke).
Da ich mch nur mit Oracle wirklich gut auskenne, würde ich mich an so ein Projekt nicht herantrauen.

Wie würdest du zum Bleistift diese Tabelle für den MS SQL Svr umsetzen?
SQL-Code:
CREATE TYPE address_objtyp AS OBJECT (
  street VARCHAR2(200),
  city VARCHAR2(200),
  state CHAR(2),
  zipcode VARCHAR2(20));

CREATE TABLE address_objtab OF address_objtyp ;


CREATE TYPE phone_objtyp AS OBJECT (
  location VARCHAR2(15),
  num VARCHAR2(14));

CREATE TYPE phone_ntabtyp AS TABLE OF phone_objtyp;

CREATE TABLE people_reltab (
  id NUMBER(4) CONSTRAINT pk_people_reltab PRIMARY KEY,
  name_obj name_objtyp,
  address_ref REF address_objtyp SCOPE IS address_objtab,
  phones_ntab phone_ntabtyp)
  NESTED TABLE phones_ntab STORE AS phone_store_ntab ;

CREATE INDEX address_ref_idx ON people_reltab (address_ref) ;
Das ist nur eine einfache Beipieltabelle für nested tables aus der Ora-Doku, "real life"-Tabellen sind oft viel verschachtelter (100-200 Zeilen DDL sind keine Seltenheit für performance kritische Tabellen, da wird dann nur noch mit REFs um sich geworfen).

Ich will dich jetzt nicht komplett demotivieren, du solltest aber wissen, dass du höchstens DDL für Spaltennamen, typen und Primär-/Fremdschlüssel für simple Tabellen nachbilden kannst. Auf den "großen" DBs wirst du solche Tabellen selten finden (sonst läuft da irgendwas verdammt schief )
  Mit Zitat antworten Zitat