国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Inhaltsverzeichnis
So ?ndern Sie Felder in der Oracle-Datenbank
Oracle ALTER TABLE MODIFY列示例
Heim Datenbank Oracle So ?ndern Sie Felder in der Oracle-Datenbank

So ?ndern Sie Felder in der Oracle-Datenbank

Mar 02, 2022 pm 06:13 PM
oracle Datenbank

In Oracle k?nnen Sie die Anweisung ?ALTER TABLE MODIFY“ verwenden, um Felder zu ?ndern. Die Syntax lautet ?Auszuführende Operationen ALTER TABLE MODIFY“; Standardwert einer Spalte ?ndern, den Ausdruck virtueller Spalten ?ndern usw.

So ?ndern Sie Felder in der Oracle-Datenbank

Die Betriebsumgebung dieses Tutorials: Windows 7-System, Oracle 11g-Version, Dell G3-Computer.

So ?ndern Sie Felder in der Oracle-Datenbank

In Oracle k?nnen Sie die Anweisung ?ALTER TABLE MODIFY“ verwenden, um Felder zu ?ndern und die Definition vorhandener Felder zu ?ndern. ALTER TABLE MODIFY”語句來修改字段,更改現(xiàn)有字段的定義。

要更改表中列的定義,請按如下所示使用ALTER TABLE MODIFY列語法:

ALTER TABLE 表名 
MODIFY 字段名 需要執(zhí)行的操作;

語句很直接。要修改表的列,需要指定要執(zhí)行的列名,表名和操作。

Oracle允許執(zhí)行多種操作,但以下是主要常用的操作:

  • 修改列的可見性

  • 允許或不允許NULL值

  • 縮短或擴大列的大小

  • 更改列的默認值

  • 修改虛擬列的表達式

要修改多個列,請使用以下語法:

ALTER TABLE 表名
MODIFY (
    字段名1 action,
    字段名2 action,
    ...
);

Oracle ALTER TABLE MODIFY列示例

首先,為演示創(chuàng)建一個名為accounts的新表:

-- 12c語法
CREATE TABLE accounts (
    account_id NUMBER GENERATED BY DEFAULT AS IDENTITY,
    first_name VARCHAR2(25) NOT NULL,
    last_name VARCHAR2(25) NOT NULL,
    email VARCHAR2(100),
    phone VARCHAR2(12) ,
    full_name VARCHAR2(51) GENERATED ALWAYS AS( 
            first_name || ' ' || last_name
    ),
    PRIMARY KEY(account_id)
);

其次,向accounts表中插入一些行:

INSERT INTO accounts(first_name,last_name,phone)
VALUES('Trinity',
       'Knox',
       '410-555-0197');


INSERT INTO accounts(first_name,last_name,phone)
VALUES('Mellissa',
       'Porter',
       '410-555-0198');


INSERT INTO accounts(first_name,last_name,phone)
VALUES('Leeanna',
       'Bowman',
       '410-555-0199');

第三,通過使用下面的SELECT語句驗證插入操作:

SELECT
    *
FROM
    accounts;

執(zhí)行上面查詢語句,得到以下結果 -

So ?ndern Sie Felder in der Oracle-Datenbank

1. 修改列的可見性

在Oracle 12c中,可以將表列定義為不可見或可見。不可見列不可用于查詢,如:

SELECT
    *
FROM
    table_name;

或者,

DESCRIBE table_name;

都是查到不到不可見列的。

但是,可以通過在查詢中顯式指定不可見列來查詢:

SELECT
    invisible_column_1,
    invisible_column_2
FROM
    table_name;

默認情況下,表列是可見的。可以在創(chuàng)建表或使用ALTER TABLE MODIFY列語句時定義不可見列。

例如,以下語句使full_name列不可見:

ALTER TABLE accounts 
MODIFY full_name INVISIBLE;

執(zhí)行再次查詢表中數(shù)據(jù),得到以下結果 -

So ?ndern Sie Felder in der Oracle-Datenbank

以下語句返回accounts表除了full_name列以外的所有列中返回數(shù)據(jù):

SELECT
    *
FROM
    accounts;

這是因為full_name列是不可見的。要將列從不可見變?yōu)榭梢姡埵褂靡韵抡Z句:

ALTER TABLE accounts 
MODIFY full_name VISIBLE;

2. 允許或不允許null示例

以下語句將email列更改為接受非空(not null)值:

ALTER TABLE accounts 
MODIFY email VARCHAR2( 100 ) NOT NULL;

但是,Oracle發(fā)出以下錯誤:

SQL Error: ORA-02296: cannot enable (OT.) - null values found

因為當將列從可為null改為not null時,必須確?,F(xiàn)有數(shù)據(jù)符合新約束(也就是說,如果原來數(shù)據(jù)中NULL是不行的)。

為了解決這個問題,首先更新email列的值:

UPDATE 
    accounts
SET 
    email = LOWER(first_name || '.' || last_name || '@oraok.com') ;

請注意,LOWER()函數(shù)將字符串轉換為小寫字母。

然后改變email列的約束:

ALTER TABLE accounts 
MODIFY email VARCHAR2( 100 ) NOT NULL;

現(xiàn)在,它應該就會按預期那樣工作了。

3. 擴大或縮短列示例的大小

假設要添加國際代碼到phone列上,比如:前綴加上+86。 在修改列的值之前,必須使用以下語句擴大phone列的大小:

ALTER TABLE accounts 
MODIFY phone VARCHAR2( 24 );

現(xiàn)在,我們可以更新電話號碼的數(shù)據(jù)了:

UPDATE
    accounts
SET
    phone = '+86 ' || phone;

以下語句驗證更新:

SELECT
    *
FROM
    accounts;

執(zhí)行上面查詢語句結果中,應該可以看到原電話號碼前綴有加上+86的國際區(qū)號了。

So ?ndern Sie Felder in der Oracle-Datenbank

要縮短列的大小,請確保列中的所有數(shù)據(jù)都符合新的大小。

例如,嘗試將phone列的大小縮減到12個字符:

ALTER TABLE accounts 
MODIFY phone VARCHAR2( 12 );

Oracle數(shù)據(jù)庫發(fā)出以下錯誤:

SQL Error: ORA-01441: cannot decrease column length because some  value is too big

要解決這個問題,首先,應該從電話號碼中刪除國際代碼(即:+86):

UPDATE
    accounts
SET
    phone = REPLACE(
        phone,
        '+86 ',
        ''
    );

REPLACE()函數(shù)用一個新的子字符串替換一個子字符串。在這種情況下,它將用空字符串替換+86。

然后縮短phone列的大?。?/p>

ALTER TABLE accounts 
MODIFY phone VARCHAR2( 12 );

4. 修改虛擬列

假設按以下兩列的格式填寫全名:

last_name, first_name

為此,可以更改虛擬列full_name

Um die Definition einer Spalte in einer Tabelle zu ?ndern, verwenden Sie die Spaltensyntax ALTER TABLE MODIFY wie folgt: ??
ALTER TABLE accounts 
MODIFY full_name VARCHAR2(52) 
GENERATED ALWAYS AS (last_name || ', ' || first_name);
??Die Anweisung ist unkompliziert. Um die Spalten einer Tabelle zu ?ndern, müssen Sie den Spaltennamen, den Tabellennamen und den auszuführenden Vorgang angeben. ????Oracle erm?glicht Ihnen die Ausführung einer Vielzahl von Vorg?ngen, die folgenden sind jedoch die am h?ufigsten verwendeten Vorg?nge: ??
  • ???ndern der Sichtbarkeit einer Spalte??< /li>
  • ??NULL-Werte zulassen oder nicht zulassen??
  • ??Verkürzen oder erweitern Sie die Gr??e einer Spalte??
  • ???ndern Sie den Standardwert einer Spalte??
  • ???ndern Sie den Ausdruck einer virtuellen Spaltenformel ??
??Um mehrere Spalten zu ?ndern, verwenden Sie die folgende Syntax: ??
SELECT
    *
FROM
    accounts;

Oracle ALTER TABLE MODIFY-Spaltenbeispiel ?????? Zuerst ?? erstellen Sie eine neue Tabelle mit dem Namen accounts für die Demo: ??
ALTER TABLE accounts
ADD status NUMBER( 1, 0 ) DEFAULT 1 NOT NULL ;
????Zweitens ?? fügen Sie einige Zeilen in die accounts ein Tabelle: ??
ALTER TABLE accounts 
MODIFY status DEFAULT 0;
????Drittens ??, überprüfen Sie den Einfügevorgang mit der folgenden SELECT-Anweisung: ??
INSERT INTO accounts ( first_name, last_name, email, phone )
VALUES ( &#39;Julia&#39;,
         &#39;Madden&#39;,
         &#39;julia.madden@oraok.com&#39;,
         &#39;410-555-0200&#39; );
??Führen Sie die obige Abfrageanweisung aus und erhalten Sie die folgenden Ergebnisse -????So ?ndern Sie Felder in der Oracle-Datenbank??????1. ?ndern Sie die Sichtbarkeit von Spalten ??????In Oracle 12c k?nnen Tabellenspalten als unsichtbar oder sichtbar definiert werden. Unsichtbare Spalten k?nnen nicht für Abfragen verwendet werden, z.?B.: ??
SELECT
  *
FROM
  accounts;
?? oder ??rrreee??. Unsichtbare Spalten k?nnen nicht gefunden werden. ????Es ist jedoch m?glich, unsichtbare Spalten abzufragen, indem man sie explizit in der Abfrage angibt: ??rrreee??Tabellenspalten sind standardm??ig sichtbar. Unsichtbare Spalten k?nnen beim Erstellen der Tabelle oder mithilfe der Spaltenanweisung ALTER TABLE MODIFY definiert werden. ????Zum Beispiel macht die folgende Anweisung die Spalte vollst?ndiger_Name unsichtbar: ??rrreee??Führen Sie die Abfrage der Daten in der Tabelle erneut aus und erhalten Sie die folgenden Ergebnisse: ????So ?ndern Sie Felder in der Oracle-Datenbank????Die folgende Anweisung gibt die accounts zurück Tabelle au?er full_name< Gibt Daten in allen Spalten au?er der Spalte /code> zurück: ??rrreee?? Dies liegt daran, dass die Spalte <code>full_name nicht sichtbar ist. Um eine Spalte von unsichtbar in sichtbar zu ?ndern, verwenden Sie die folgende Anweisung: ??rrreee????2. Nullbeispiel zulassen oder nicht zulassen??????Die folgende Anweisung wird Die Spalte email wurde so ge?ndert, dass sie Nicht-Null-Werte (nicht null) akzeptiert: ??rrreee?? Oracle gibt jedoch den folgenden Fehler aus: ??rrreee??, weil beim ?ndern der Spalte ?Verfügbar“ die Spalte ?E-Mail“ ge?ndert wird zu Wenn null in nicht null ge?ndert wird, müssen Sie sicherstellen, dass die vorhandenen Daten den neuen Einschr?nkungen entsprechen (d. h., wenn NULL nicht ist). in den Originaldaten erlaubt). ????Um dieses Problem zu l?sen, aktualisieren Sie zun?chst den Wert der Spalte email: ??rrreee??Bitte beachten Sie, dass LOWER() wandelt einen String in Kleinbuchstaben um. ?????ndern Sie dann die Einschr?nkung für die Spalte email: ??rrreee??Jetzt sollte es wie erwartet funktionieren. ??????3. Erweitern oder verkürzen Sie die Gr??e des Spaltenbeispiels??????Angenommen, Sie m?chten internationale Vorwahlen zum Telefon</code hinzufügen > Spalte, wie zum Beispiel: Pr?fix mit <code>+86. Bevor Sie den Wert der Spalte ?ndern, müssen Sie die Gr??e der Spalte phone mit der folgenden Anweisung erweitern: ??rrreee??Jetzt k?nnen wir die Telefonnummerndaten aktualisieren: ??rrreee??Die folgende Anweisung überprüft die Update: ??rrreee??Execute In den Ergebnissen der obigen Abfrageanweisung sollten Sie sehen k?nnen, dass die ursprüngliche Telefonnummer die internationale Vorwahl mit dem Pr?fix +86 hat. ????So ?ndern Sie Felder in der Oracle-Datenbank????An Verkürzen Sie die Gr??e einer Spalte und stellen Sie sicher, dass alle Daten in der Spalte der neuen Gr??e entsprechen. ????Versuchen Sie beispielsweise, die Gr??e der Spalte phone auf 12 Zeichen zu reduzieren: ??rrreee??Oracle Database gibt den folgenden Fehler aus: ??rrreee??Um dieses Problem zun?chst zu beheben , sollten Sie internationale Vorwahlen von Telefonnummern entfernen (z. B.: +86): ??rrreee??REPLACE()-Funktion ersetzt einen Teilstring durch einen neuen Teilstring. In diesem Fall wird +86 durch die leere Zeichenfolge ersetzt. ????Dann verkürzen Sie die Gr??e der Spalte phone: ??rrreee????4. ?ndern Sie die virtuelle Spalte??????Angenommen, Sie Drücken Sie die folgenden zwei Spalten. Geben Sie den vollst?ndigen Namen im Format ein: ??rrreee?? Dazu k?nnen Sie den Ausdruck der virtuellen Spalte vollst?ndiger_Name wie folgt ?ndern: ??
ALTER TABLE accounts 
MODIFY full_name VARCHAR2(52) 
GENERATED ALWAYS AS (last_name || &#39;, &#39; || first_name);

以下語句驗證修改:

SELECT
    *
FROM
    accounts;

執(zhí)行上面查詢語句,可以看到以下結果

So ?ndern Sie Felder in der Oracle-Datenbank

5. 修改列的默認值

添加一個名為status的新列,默認值為1accounts表中。參考以下語句 -

ALTER TABLE accounts
ADD status NUMBER( 1, 0 ) DEFAULT 1 NOT NULL ;

當執(zhí)行了該語句,就會將accounts表中的所有現(xiàn)有行的status列中的值設置為1。

要將status列的默認值更改為0,請使用以下語句:

ALTER TABLE accounts 
MODIFY status DEFAULT 0;

可以在accounts表中添加一個新行來檢查status列的默認值是0還是1

INSERT INTO accounts ( first_name, last_name, email, phone )
VALUES ( &#39;Julia&#39;,
         &#39;Madden&#39;,
         &#39;julia.madden@oraok.com&#39;,
         &#39;410-555-0200&#39; );

現(xiàn)在,查詢accounts表中的數(shù)據(jù):

SELECT
  *
FROM
  accounts;

執(zhí)行上面查詢語句,應該看類似下面的結果?

So ?ndern Sie Felder in der Oracle-Datenbank

正如所看到的那樣,ID4的賬戶的status列的值是0。

推薦教程:《Oracle教程

Das obige ist der detaillierte Inhalt vonSo ?ndern Sie Felder in der Oracle-Datenbank. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Hei?e KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?e Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Hei?e Themen

PHP-Tutorial
1502
276
Wie installiere ich MySQL 8.0 unter Windows/Linux? Wie installiere ich MySQL 8.0 unter Windows/Linux? Jun 11, 2025 pm 03:25 PM

Der Schlüssel zur Installation von MySQL 8.0 liegt darin, die Schritte zu befolgen und auf h?ufige Probleme zu achten. Es wird empfohlen, das MSI -Installationspaket unter Windows zu verwenden. Die Schritte beinhalten das Herunterladen des Installationspakets, das Ausführen des Installationsprogramms, die Auswahl des Installationstyps, das Festlegen des Stammkennworts, das Aktivieren des Dienstes für das Dienst und die Beachtung von Portkonflikten oder die manuelle Konfiguration der ZIP -Version. Linux (wie Ubuntu) wird über APT installiert. In den Schritten wird die Quelle aktualisiert, den Server installiert, Sicherheitsskripte ausgeführt, den Dienststatus geprüft und die Stammauthentifizierungsmethode ge?ndert. Unabh?ngig von der Plattform sollten Sie das Standardkennwort ?ndern, gew?hnliche Benutzer erstellen, Firewalls einrichten, Konfigurationsdateien anpassen, um Zeichens?tze und andere Parameter zu optimieren, um die Sicherheit und den normalen Gebrauch zu gew?hrleisten.

So stellen Sie mit JDBC eine Verbindung zum Oracle -Datenbankverbindungspool her So stellen Sie mit JDBC eine Verbindung zum Oracle -Datenbankverbindungspool her Jun 04, 2025 pm 10:15 PM

Die Schritte zur Verbindung zu einem Oracle -Datenbankverbindungspool mit JDBC umfassen: 1) Konfigurieren Sie den Verbindungspool, 2) die Verbindung aus dem Verbindungspool abrufen, 3) SQL -Vorg?nge ausführen und 4) die Ressourcen schlie?en. Verwenden Sie OracleUCP, um Verbindungen effektiv zu verwalten und die Leistung zu verbessern.

So sehen Sie alle Datenbanken in MongoDB an So sehen Sie alle Datenbanken in MongoDB an Jun 04, 2025 pm 10:42 PM

Die M?glichkeit, alle Datenbanken in MongoDB anzuzeigen, besteht darin, den Befehl "showdbs" einzugeben. 1. Dieser Befehl zeigt nur nicht leere Datenbanken an. 2. Sie k?nnen die Datenbank über den Befehl "Verwendung" wechseln und Daten einfügen, damit sie angezeigt werden. 3. Achten Sie auf interne Datenbanken wie "Lokal" und "Konfiguration". 4. Bei Verwendung des Treibers müssen Sie die Methode "ListDatabases ()" verwenden, um detaillierte Informationen zu erhalten. 5. Der Befehl "db.stats ()" kann detaillierte Datenbankstatistiken anzeigen.

Verwendung der Oracle -Datenbankintegration mit Hadoop in Big Data -Umgebung Verwendung der Oracle -Datenbankintegration mit Hadoop in Big Data -Umgebung Jun 04, 2025 pm 10:24 PM

Der Hauptgrund für die Integration von Oracle-Datenbanken in Hadoop besteht darin, die leistungsstarken Datenverwaltungs- und Transaktionsverarbeitungsfunktionen von Oracle sowie die gro? angelegten Datenspeicher- und Analysefunktionen von Hadoop zu nutzen. Zu den Integrationsmethoden geh?ren: 1. Exportdaten von OracleBigDataconnector nach Hadoop; 2. Verwenden Sie Apachesqoop für die Datenübertragung; 3.. Lesen Sie Hadoop -Daten direkt durch die externe Tabellenfunktion von Oracle. 4. Verwenden Sie OracleGoldeGate, um die Datensynchronisation zu erreichen.

SQL -Datenbankanweisungen Zusammenfassung gemeinsamer Anweisungen für die SQL -Datenbank SQL -Datenbankanweisungen Zusammenfassung gemeinsamer Anweisungen für die SQL -Datenbank May 28, 2025 pm 08:12 PM

Zu den allgemeinen SQL -Aussagen geh?ren: 1. CreateTable erstellt Tabellen wie CreatTable -Mitarbeiter (IDINTPRIMARYKEY, NAMEVARCHAR (100), Gehaltsezimal (10,2)); 2. createIndex erstellt Indexe, z. 3.. InsertInto fügt Daten ein, z. B. InsertInto -Mitarbeiter (ID, Name, Gehalt) Werte (1, 'Johndoe', 75000,00); 4. W?hlen Sie überprüfen

Sofragen Sie Ihr Administratorkennwort für die Oracle -Datenbank ab Sofragen Sie Ihr Administratorkennwort für die Oracle -Datenbank ab Jun 04, 2025 pm 10:06 PM

Das direkte Abfragebusst von Administratorkennw?rtern wird in Bezug auf die Sicherheit nicht empfohlen. Das Sicherheitsdesign -Prinzip der Oracle -Datenbank besteht darin, das Speichern von Kennw?rtern im Klartext zu vermeiden. Zu den alternativen Methoden geh?ren: 1. Setzen Sie das System oder das Systembenutzerkennwort mit SQL*Plus zurück; 2. überprüfen Sie das verschlüsselte Passwort über das Paket dbms_crypto.

Wie man Oracle macht, ohne einen bestimmten Feldwert zu nehmen Wie man Oracle macht, ohne einen bestimmten Feldwert zu nehmen Jun 04, 2025 pm 10:21 PM

Wenn Sie in der Oracle -Datenbank bei der Abfrage nicht den Wert eines bestimmten Feldes zurückgeben m?chten, k?nnen Sie die folgenden drei Methoden verwenden: Listen Sie nur die erforderlichen Felder in der Auswahlanweisung auf und w?hlen Sie nicht die unerwünschten Felder aus. Erstellen Sie Ansichten, um Abfragen zu vereinfachen, achten Sie jedoch auf die Komplexit?t und Wartungskosten der Ansichten. Die Ausnahme unerwünschter S?ulen mit Unterangaben oder Verbindungen eignet sich zum dynamischen Ausschluss von Spalten, kann jedoch die Abfrageleistung beeinflussen. Jede Methode hat ihre anwendbaren Szenarien und potenziellen Nachteile, und die am besten geeignete Methode muss basierend auf spezifischen Anforderungen und Leistungsüberlegungen ausgew?hlt werden.

Was sind die Unterschiede zwischen physischen und logischen Datenbankstrukturen in Oracle? Was sind die Unterschiede zwischen physischen und logischen Datenbankstrukturen in Oracle? Jun 10, 2025 am 12:01 AM

Die logische Struktur der Oracle -Datenbank konzentriert sich darauf, wie Daten von Benutzern und Entwicklern organisiert werden, einschlie?lich Tabellen, Ansichten, Mustern und Tabellenr?umen. Die physikalische Struktur umfasst die tats?chliche Speicherung von Daten auf der Festplatte, einschlie?lich Datendateien, Wiederholung von Protokollen, Steuerdateien usw. 1. Die logische Struktur enth?lt Tabellen, Ansichten, Indizes, Muster und Tabellenr?ume, in denen bestimmen, wie Benutzer auf Daten zugreifen. 2. Die physische Struktur besteht aus Datendateien, Wiederholungsprotokollen, Steuerdateien und Archivprotokollen, die für die Persistenz und Wiederherstellung von Daten verantwortlich sind. 3. Der Tabellenraum ist eine wichtige Brücke, die Logik und Physik verbindet, und seine Kapazit?t wird durch die zugrunde liegenden Datendateien begrenzt. 4. Unterschiedliche Rollen haben unterschiedliche Aufmerksamkeit, Entwickler konzentrieren sich auf die Logikoptimierung, und DBA schenkt dem physischen Management mehr Aufmerksamkeit. 5. Das Verst?ndnis der Unterschiede zwischen den beiden kann dazu beitragen, Probleme effizient zu beheben, die Leistung zu optimieren und angemessenes Management

See all articles