


So erstellen Sie einen automatisch erhöhenden Primärschlüssel in Oracle
Wie Oracle einen sich selbst erhöhenden Primärschlüssel erstellt
Oracle-Primärschlüssel werden üblicherweise in UUID unterteilt und Es gibt zwei Arten von sich selbst erhöhenden int. Lassen Sie uns kurz über ihre jeweiligen Vor- und Nachteile sprechen:
Vorteile von UUID
1. Es ist einfach zu generieren, unabhängig davon, ob es sich um eine UUID handelt, die einfach mit sys_guid() oder Javas UUID erstellt werden kann.
2. Geeignet für Einfüge- und Aktualisierungsvorgänge in Stapeldaten.
3. Die serverübergreifende Datenzusammenführung ist sehr praktisch.
Vorteile der INT-Selbsterhöhung
Geringer Platzbedarf
2. Gute Leistung, UUID ist nicht auf dem gleichen Niveau wie int
3. Leicht zu merken
Ihre jeweiligen Vorteile sind die Mängel des anderen
Empfehlen Sie „MySQL-Video-Tutorial“
Anwendbar Bereich:
Im Allgemeinen wird UUID als einziger Primärschlüssel in einer verteilten Umgebung verwendet. Wie bei anderen Projekten empfehle ich dringend, int als Primärschlüssel zu verwenden.
PS: Kürzlich kam es bei einem meiner verteilten Projekte während der Hauptzugriffszeit am Wochenende auch zu einer UUID-Duplizierung, daher habe ich den Vorteil der UUID als global eindeutige ID nicht aufgeschrieben, aber wir können Zookeeper als primäre ID verwenden Zu generierender Schlüssel Der Operator erstellt einen eindeutigen Primärschlüssel vom Typ int, was völlig in Ordnung ist.
Zusammenfassend empfehle ich also immer noch, dass alle Primärschlüssel den Typ int verwenden sollten. Die Vorteile des Typs int liegen besonders auf der Hand, wenn es um zig Millionen Daten geht.
Oracle-Schritte zum Erstellen einer automatischen Inkrementierung:
Auto-Inkrementierungssequenz erstellen
-- 创建自增长序列 create sequence seq_on_chance_contract increment by 1 -- 每次加1 start with 1 -- 从1开始计数 nomaxvalue -- 不设置最大值 nocycle -- 一直累加 nocache;
Datentabelle erstellen
Der Primärschlüssel kann INTEGER und NUMBER verwenden. Wenn das System Hibernate als ORM-Framework verwendet, wird die Verwendung von NUMBER
create table TBL_CHANCE_CONTRACT ( ID INTEGER PRIMARY KEY, CHANCE_SUCCESS_ID VARCHAR2(50) not null, CONTENT CLOB, CREATE_USER_ID VARCHAR2(50), CREATA_USER_NAME VARCHAR2(80), CREATE_DATE TIMESTAMP(6) )
zum Erstellen eines Primärschlüssels nicht empfohlen, sodass Sie den ID-Primärschlüssel nicht verwalten müssen beim Hinzufügen neuer Datensätze. :
Alle Sequenzen und Tabellen anzeigen
-- 创建主键触发器 CREATE OR REPLACE TRIGGER tg_on_id_chance_contract BEFORE INSERT ON TBL_CHANCE_CONTRACT FOR EACH ROW WHEN (new.ID is null) BEGIN SELECT seq_on_chance_contract.nextval into:new.ID from dual; END;
Anzeige, wie viele aktuelle Sequenzen vorhanden sind
-- 查找所有SEQUENCE、TABLE select * from user_objects ubs; -- 查找所有SEQUENCE select * from user_objects ubs where ubs.OBJECT_TYPE='SEQUENCE';
Sequenz zurücksetzen
Allgemeines Zurücksetzen Die Sequenz muss gelöscht und dann neu erstellt werden, aber das ist problematischer. Es gibt zwei Methoden unten, ohne die Sequenz zu löschen:
1 Verwenden Sie den Schrittparameter, um zuerst den nächsten Wert herauszufinden Denken Sie daran, den Wert schrittweise in negativ zu ändern (und umgekehrt) und ihn dann wieder zurück zu ändern.
Angenommen, der Sequenzname, der geändert werden muss, ist seq_on_chance_contract
select seq_on_chance_contract.nextval from dual; select seq_on_chance_contract.currval from dual;
2. Verwenden Sie die gespeicherte Prozedur, um (v_seqname) zu implementieren
-- 重置序列 select seq_on_chance_contract.nextval from dual; -- 假设得到结果 n alter sequence seq_on_chance_contract increment by -2; -- 注意是 -(n-1) select seq_on_chance_contract.nextval from dual; -- 再查一遍,走一下,重置为1了 alter sequence seq_on_chance_contract increment by 1; -- 还原
Dann rufen Sie die gespeicherte Prozedur auf:
create or replace procedure seq_reset(v_seqname varchar2) as n number(10); tsql varchar2(100); begin execute immediate 'select '||v_seqname||'.nextval from dual' into n; n:=-(n-1); tsql:='alter sequence '||v_seqname||' increment by '|| n; execute immediate tsql; execute immediate 'select '||v_seqname||'.nextval from dual' into n; tsql:='alter sequence '||v_seqname||' increment by 1'; execute immediate tsql; end seq_reset;
Dieser Artikel stammt von der chinesischen PHP-Website, Spalte
MySQL-TutorialDas obige ist der detaillierte Inhalt vonSo erstellen Sie einen automatisch erhöhenden Primärschlüssel in Oracle. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Um die Oracle -Tablespace -Größe abzufragen, führen Sie die folgenden Schritte aus: Bestimmen Sie den Namen Tablespace, indem Sie die Abfrage ausführen: Wählen Sie Tablespace_Name aus dba_tablespaces. Abfragen Sie die Tablespace -Größe durch Ausführen der Abfrage: Summe (Bytes) als Total_Size, sum (bytes_free) als verfügbare_space, sum

Deinstallieren Sie die Methode für Oracle -Installationsfehler: Schließen Sie den Oracle -Service, löschen Sie Oracle -Programmdateien und Registrierungsschlüssel, Deinstallieren Sie Oracle -Umgebungsvariablen und starten Sie den Computer neu. Wenn das Deinstall fehlschlägt, können Sie das Oracle Universal Deinstall -Tool manuell deinstallieren.

Mit der Verschlüsselung von Oracle View können Sie Daten in der Ansicht verschlüsseln und so die Sicherheit sensibler Informationen verbessern. Die Schritte umfassen: 1) Erstellen des Master -Verschlüsselungsschlüssels (MEK); 2) Erstellen einer verschlüsselten Ansicht, der Ansicht und der Verschlüsselung der Ansicht und der MEK angeben; 3) Benutzern Sie die Benutzer, auf die verschlüsselte Ansicht zuzugreifen. Wie verschlüsselte Ansichten funktionieren: Wenn ein Benutzer nach einer verschlüsselten Ansicht nachgefragt wird, verwendet Oracle MEK, um Daten zu entschlüsseln und sicherzustellen, dass nur autorisierte Benutzer auf lesbare Daten zugreifen können.

Es gibt drei Möglichkeiten, Instanznamen in Oracle anzuzeigen: Verwenden Sie den "SQLPLUS" und "Instance_name aus v $ Instance". Befehle in der Befehlszeile. Verwenden Sie den "show Instance_name;" Befehl in SQL*Plus. Überprüfen Sie die Umgebungsvariablen (Oracle_sid unter Linux) über den Task -Manager des Betriebssystems, den Oracle Enterprise Manager oder über das Betriebssystem.

Die Methode zur Lösung des Oracle Cursor Closeure -Problems umfasst: explizit den Cursor mithilfe der Close -Anweisung schließen. Deklarieren Sie den Cursor in der für Aktualisierungsklausel so, dass er nach Beendigung des Umfangs automatisch schließt. Deklarieren Sie den Cursor in der Verwendung der Verwendung so, dass er automatisch schließt, wenn die zugehörige PL/SQL -Variable geschlossen ist. Verwenden Sie die Ausnahmebehandlung, um sicherzustellen, dass der Cursor in jeder Ausnahmesituation geschlossen ist. Verwenden Sie den Verbindungspool, um den Cursor automatisch zu schließen. Deaktivieren Sie die Automatikübermittlung und Verzögerung des Cursors Schließen.

Für das Löschen aller Daten in Oracle sind die folgenden Schritte erforderlich: 1. Erstellen Sie eine Verbindung; 2. Deaktivieren Sie fremde Schlüsselbeschränkungen; 3.. Tabellendaten löschen; 4. Transaktionen einreichen; 5. Aktivieren Sie fremde Schlüsselbeschränkungen (optional). Stellen Sie sicher, dass Sie die Datenbank vor der Ausführung sichern, um den Datenverlust zu verhindern.

Oracle Ungültige numerische Fehler können durch Fehlpaarung des Datentyps, numerische Überlauf, Datenkonvertierungsfehler oder Datenbeschäftigung verursacht werden. Zu den Schritten zur Fehlerbehebung gehören das Überprüfen von Datentypen, das Erkennen digitaler Überläufe, das Überprüfen von Datenkonvertierungen, das Überprüfen der Datenbeschädigung und das Erforschen anderer möglicher Lösungen wie das Konfigurieren des Parameters nls_numeric_characters und das Aktivieren der Datenüberprüfungs -Protokollierung.

SQL -Anweisungen können basierend auf der Laufzeiteingabe erstellt und ausgeführt werden, indem die dynamische SQL von Oracle verwendet wird. Zu den Schritten gehören: Vorbereitung einer leeren Zeichenfolgenvariable zum Speichern von dynamisch generierten SQL -Anweisungen. Verwenden Sie die sofortige Ausführung oder Vorbereitung, um dynamische SQL -Anweisungen zu kompilieren und auszuführen. Verwenden Sie die Bind -Variable, um die Benutzereingabe oder andere dynamische Werte an dynamische SQL zu übergeben. Verwenden Sie sofortige Ausführung oder führen Sie aus, um dynamische SQL -Anweisungen auszuführen.
