8i | 9i | 10g | 11g | 12c | 13c | 18C | 19C | 21c | różne | PL/SQL | SQL | RAC | WebLogic | Linux
Strona główna „Artykuły” różne ” tutaj
jest to ósma część serii artykułów prezentujących podstawy SQL. W tym artykule przyjrzymy się niektórym wariantom instrukcjiINSERT
.,
- Setup
- COMMIT and ROLLBACK
- Basic INSERT
- INSERT into View
- INSERT … SELECT
- Skalar Subqueries
powiązane artykuły.
- SQL dla początkujących (część 8) : instrukcja INSERT
- SQL dla początkujących – pełna lista odtwarzania
- Artykuły Oracle SQL – pierwsze kroki
- wielozadaniowe Wstawki
Konfiguracja
możesz wykonywać wszystkie te zapytania online za darmo za pomocą SQL Fiddle.
przykłady w tym artykule wymagają obecności następujących tabel.,
tabele te są odmianą tabel EMP i DEPT ze schematu Scotta. Zobaczysz wiele przykładów Oracle w Internecie przy użyciu tabel ze schematu Scotta. Oryginalną definicję tabeli znajdziesz w ” $ORACLE_HOME/RDBMS/admin/utlsampl.skrypt sql.
w tym artykule będziemy również potrzebować następującej kopii tabeli pracowników. Uwaga wprowadziliśmy obowiązkowe kolumny EMPLOYEE_NAME i JOB. Kolumna EMPLOYEE_ID jest domyślnie obowiązkowa, ponieważ jest kluczem głównym.,
COMMIT i ROLLBACK
wszystkie zmiany w języku Data Manipulation Language (DML) są dokonywane w ramach transakcji. Nie są one trwałe, dopóki nie zostaną potwierdzone za pomocą instrukcji COMMIT
. Po zatwierdzeniu, jedynym sposobem na przywrócenie zmiany jest wydanie nowego Oświadczenia DML w celu zmiany danych. Kilka instrukcji można pogrupować w jedną transakcję.
polecenia języka definicji danych (DDL) wykonują implicit commit, który również potwierdza wszystkie nierozstrzygnięte zmiany DML w bieżącej sesji.,
Jeśli zdecydujesz, że nie chcesz przechowywać niektórych niezarejestrowanych zmian, możesz je wyrzucić za pomocą instrukcjiROLLBACK
. Wiele przykładów w tym artykule wydaROLLBACK
instrukcje po teście, aby przywrócić dane do pierwotnego stanu.
niektóre narzędzia i języki programowania domyślnie automatycznie zatwierdzają, więc automatycznie wydają polecenieCOMMIT
po każdej instrukcji DML, którą przetwarzają. Nie daj się zwieść myśląc, że to domyślne zachowanie. Nie jest.,
Basic INSERT
najprostsza wersja instrukcjiINSERT
nie określa kolumn, które mają być wstawione. Zakłada, że wartości są podane we właściwej kolejności kolumn i żadne wartości kolumn nie zostały pominięte. W rezultacie jest to niebezpieczne w kodzie aplikacji, ponieważ dodanie kolumny do tabeli spowoduje złamanie instrukcji.
podanie listy kolumn jest znacznie bezpieczniejsze, ponieważ instrukcja nie zostanie złamana, jeśli do tabeli zostaną dodane opcjonalne kolumny.,
Jawna lista kolumn umożliwia również usunięcie opcjonalnych kolumn z instrukcji i zamianę pozycji kolumn w instrukcji. W poniższym przykładzie kolumny MANAGER_ID, COMMISSION i DEPARTMENT_ID zostały usunięte, a Kolumna EMPLOYEE_ID została przeniesiona na koniec listy kolumn i listy wartości.
pamiętaj, że pominięcie kolumn obowiązkowych nie jest dozwolone, chyba że masz domyślne wartości kolumn lub wyzwalacze, które je wypełniają. W poniższym przykładzie kolumna JOB jest pominięta, która jest kolumną obowiązkową w tabeli EMPLOYEES2.,
wstawianie do widoków
możliwe jest wstawianie do tabeli bazowej powiązanej z widokiem. Istnieją pewne ograniczenia związane z tym, ale są one trochę poza zakresem artykułu na poziomie początkującym. W poniższym przykładzie tworzymy prosty widok w tabeli EMPLOYEES2, a następnie wstawiamy do niej.
nie zobaczysz go zbyt często, ale możesz również wstawić do widoków wbudowanych. Może to być używane do kontrolowania listy kolumn dla insert, zamiast używać jawnej listy kolumn.
Wstaw …, SELECT
możliwe jest tworzenie wielu wierszy w jednymINSERT
przy użyciu składniINSERT ... SELECT
. Poniższy przykład kopiuje wszystkie dane z tabeli pracowników do tabeli EMPLOYEES2.
lista kolumn w instrukcjiINSERT
musi być zgodna z listąSELECT
w zapytaniu.
standardowe reguły mają zastosowanie do części zapytania instrukcji, więc można filtrować dane lub łączyć je z innymi tabelami w celu zebrania danych.,
skalarne zapytania podrzędne
skalarne zapytania podrzędne mogą być użyte do źródła wartości dla instrukcjiINSERT
. W poniższym przykładzie kolumna wynagrodzenia jest wypełniona skalarnym zapytaniem podrzędnym, które Zwraca maksymalną pensję z tabeli pracowników i dodaje do niej 1000.
Więcej informacji na stronie:
Dodaj komentarz