Announcement

Collapse
No announcement yet.

oracle, sequenzen usw.

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • oracle, sequenzen usw.

    hallo,

    um bei oracle ein feld vom typ zähler definieren zu können, muß man irgendwie eine sequenz anlegen. siehe unten.
    so habe ich es zumindest verstanden.
    könnte mir jemand noch mal genau die zusammenhänge erklären?

    /*---------------------------------- Kundendaten ---------------------------------------------*/

    /* Tabelle COUNTRIES
    Länder-Daten
    */
    DROP SEQUENCE G_COUNTRIES_ID;
    CREATE SEQUENCE G_COUNTRIES_ID;

    DROP TABLE COUNTRIES;
    CREATE TABLE COUNTRIES(
    COUNTRYID number( NOT NULL, -- ID
    COUNTRY varchar2(3) NOT NULL, -- Kürzel
    NAME varchar2(30), -- Name
    LANGUAGE char(1), -- Sprache
    ADRESSORDER char(3), -- Art der Adressanordnung
    REPORTFOOTER varchar2(110), -- Fußzeile für Reports
    POPTEXT clob, -- Zusatztext
    PRIMARY KEY(COUNTRY)
    );

    /* Tabelle CUSTOMERS
    Übergeordnete Organisationen
    */
    DROP SEQUENCE G_CUSTOMERID_ID;
    CREATE SEQUENCE G_CUSTOMERID_ID;

    DROP TABLE CUSTOMERS;
    CREATE TABLE CUSTOMERS(
    CUSTOMERID number( NOT NULL, -- Kunden-Nr
    CUSTOMERIDERP varchar2(20), -- - aus ERP
    CUSTOMERIDEXTERNAL varchar2(20), -- - extern
    CUSTOMERIDINTERNAL varchar2(20), -- - intern
    ORGANISATION varchar2(80), -- Organisation
    ORGANISATIONKIND varchar2 (10), -- Organisationstyp (Uni, Firma...
    POPTEXT clob, -- Zusatztext
    PRIORITY number(, -- Priorität des Kunden
    --
    ENTRYDATE date, -- Eingabe-/Änderungsdatum
    ENTRYBY varchar2 (10), -- Eingabe durch...
    --
    ORGANISATION_UPPER VARCHAR2(80), -- Suchbegriffe
    CUSTOMERIDEXT_UPPER varchar2(80), --
    --
    PRIMARY KEY(CUSTOMERID)
    );

    mfg

    markus
    Herzliche Grüße

    Markus Lemcke
    barrierefreies Webdesign

  • #2
    <p>Hallo Markus,<br>
    <br>
    eine Sequenz ist ein Datenbankobjekt, das von einem Entwickler erstellt wird und mit vielen anderen Benutzern gemeinsam zur Generierung eindeutiger ganzer Zahlen genutzt werden kann.<br>
    Eine typische Verwendungsmöglichkeit von Sequenzen ist das Erstellen eines Primärschlüsselwertes, der für jede Zeile eindeutig sein muß. Die Sequenz wird von einer internen Oracle-Routine generiert und erhöht (bzw. niedriger gesetzt).<br>
    Sequenzennummern werden unabhängig von Tabellen gespeichert und generiert. Deshalb kann eine Sequenz für mehrere Tabellen verwendet werden.<br>
    Eine Sequenz wird mit der Anweisung CREATE SEQUENZ erstellt. Dazu gibt es eine Reihe von Parametern, mit der u.a. das Intervall, der Startwert, der maximale und der minimale Wert angegeben werden kann.<br>
    Folgendes Beispiel erzeugt für eine Tabelle "tblKunden" eine Sequenz, die um jeweils 1 erhöht wird, mit 100 beginnt und einen maximalen Wert von 1000 annehmen kann.<br>
    <pre>
    CREATE SEQUENZ sqKundenNr
    INCREMENT BY 1
    START WITH 100
    MAXVALUE 1000;
    </pre>
    Angewendet wird Sie dann folgendermaßen:
    <pre>
    INSERT INTO tblKunden
    (KundenNr, Name, Ort)
    VALUES
    (sqKundenNr.NextVal, 'TestKunde', TestOrt');
    </pre>
    Es würde hier zu weit führen, Dir die ganze Vorgehensweise im Detail zu erklären. Entweder Du besorgst Dir die entsprechende Literatur (z.B. Oracle 8, Die umfassende Referenz) oder Du besuchst die Oracle-Schulung "Professioneller Einstieg in Oracle SQL".<br>
    <br>
    Gruß Thomas</p&gt

    Comment


    • #3
      besten dank thomas, war schon sehr hilfreich!!!

      gruß

      marku
      Herzliche Grüße

      Markus Lemcke
      barrierefreies Webdesign

      Comment

      Working...
      X