Hướng dẫn sql oracle cheat sheet - bảng gian lận sql oracle

"Bảng gian lận" này bao gồm hầu hết các chức năng cơ bản mà Oracle DBA cần chạy các truy vấn cơ bản và thực hiện các tác vụ cơ bản. Nó cũng chứa thông tin mà một lập trình viên PL/SQL thường xuyên sử dụng để viết các thủ tục được lưu trữ. Tài nguyên này hữu ích như một mồi cho các cá nhân mới đến Oracle hoặc làm tài liệu tham khảo cho những người có kinh nghiệm sử dụng Oracle.

Rất nhiều thông tin về Oracle tồn tại trên toàn bộ mạng. Chúng tôi đã phát triển tài nguyên này để giúp các lập trình viên và DBA dễ dàng tìm thấy hầu hết các điều cơ bản ở một nơi. Các chủ đề ngoài phạm vi của một "sự gian lận" thường cung cấp một liên kết để nghiên cứu thêm.

Tài liệu tham khảo Oracle khác

  • Tài liệu tham khảo của Oracle XML Tham khảo XML vẫn còn ở giai đoạn sơ khai, nhưng đang xuất hiện độc đáo.

Chọn [Chỉnh sửa | Chỉnh sửa nguồn][edit | edit source]

Câu lệnh Chọn được sử dụng để truy xuất các hàng được chọn từ một hoặc nhiều bảng, bảng đối tượng, chế độ xem, chế độ xem đối tượng hoặc chế độ xem được vật chất hóa.

   SELECT *
   FROM beverages
   WHERE field1 = 'Kona'
   AND field2 = 'coffee'
   AND field3 = 122;

Chọn vào [Chỉnh sửa | Chỉnh sửa nguồn][edit | edit source]

Chọn vào Take The Giá trị, địa chỉ và số điện thoại ra khỏi nhân viên bảng và đặt chúng vào các biến V_EMployee_Name, V_EMployee_Address và V_EMployee_Phone_Number.

Điều này chỉ hoạt động nếu truy vấn khớp với một mục duy nhất. Nếu truy vấn trả về không có hàng thì nó sẽ tăng ngoại lệ tích hợp ____105. Nếu truy vấn của bạn trả về nhiều hơn một hàng, Oracle sẽ tăng ngoại lệ

 SELECT name,address,phone_number
 INTO v_employee_name,v_employee_address,v_employee_phone_number
 FROM employee
 WHERE employee_id = 6;
06.

 SELECT name,address,phone_number
 INTO v_employee_name,v_employee_address,v_employee_phone_number
 FROM employee
 WHERE employee_id = 6;

Chèn [Chỉnh sửa | Chỉnh sửa nguồn][edit | edit source]

Câu lệnh INSERT thêm một hoặc nhiều hàng dữ liệu mới vào bảng cơ sở dữ liệu.

Chèn bằng cách sử dụng từ khóa giá trị

 INSERT INTO table_name VALUES ['Value1', 'Value2', ... ];
 INSERT INTO table_name[ Column1, Column2, ... ] VALUES [ 'Value1', 'Value2', ... ];

Chèn bằng câu lệnh CHỌN

 INSERT INTO table_name[ SELECT Value1, Value2, ... from table_name ];
 INSERT INTO table_name[ Column1, Column2, ... ] [ SELECT Value1, Value2, ... from table_name ];

Xóa [Chỉnh sửa | Chỉnh sửa nguồn][edit | edit source]

Câu lệnh Xóa được sử dụng để xóa hàng trong bảng.

Xóa các hàng phù hợp với tiêu chí

 DELETE FROM table_name WHERE some_column=some_value
 DELETE FROM customer WHERE sold = 0;

Cập nhật [Chỉnh sửa | Chỉnh sửa nguồn][edit | edit source]

Tuyên bố cập nhật được sử dụng để cập nhật các hàng trong bảng.

Cập nhật toàn bộ cột của bảng đó

 UPDATE customer SET state='CA';

Cập nhật hồ sơ cụ thể của bảng, ví dụ:

 UPDATE customer SET name='Joe' WHERE customer_id=10;

Cập nhật hóa đơn cột như được thanh toán khi cột trả phí có nhiều hơn 0.

 UPDATE movies SET invoice='paid' WHERE paid > 0;

Trình tự [Chỉnh sửa | Chỉnh sửa nguồn][edit | edit source]

Trình tự là các đối tượng cơ sở dữ liệu mà nhiều người dùng có thể sử dụng để tạo số nguyên duy nhất. Trình tạo chuỗi tạo ra các số tuần tự, có thể giúp tự động tạo các khóa chính duy nhất và các khóa phối hợp trên nhiều hàng hoặc bảng.

Tạo chuỗi [Chỉnh sửa | Chỉnh sửa nguồn][edit | edit source]

Cú pháp cho một chuỗi là:

 CREATE SEQUENCE sequence_name
     MINVALUE value
     MAXVALUE value
     START WITH value
     INCREMENT BY value
     CACHE value;

Ví dụ:

 CREATE SEQUENCE supplier_seq
     MINVALUE 1
     MAXVALUE 999999999999999999999999999
     START WITH 1
     INCREMENT BY 1
     CACHE 20;

Thay đổi trình tự [Chỉnh sửa | Chỉnh sửa nguồn][edit | edit source]

Tăng một chuỗi theo một số lượng nhất định:

 SELECT name,address,phone_number
 INTO v_employee_name,v_employee_address,v_employee_phone_number
 FROM employee
 WHERE employee_id = 6;
0

Thay đổi giá trị tối đa của một chuỗi:

 SELECT name,address,phone_number
 INTO v_employee_name,v_employee_address,v_employee_phone_number
 FROM employee
 WHERE employee_id = 6;
1

Đặt trình tự thành chu kỳ hoặc không chu kỳ:

 SELECT name,address,phone_number
 INTO v_employee_name,v_employee_address,v_employee_phone_number
 FROM employee
 WHERE employee_id = 6;
2

Định cấu hình trình tự để bộ đệm một giá trị:

 SELECT name,address,phone_number
 INTO v_employee_name,v_employee_address,v_employee_phone_number
 FROM employee
 WHERE employee_id = 6;
3

Đặt có hay không trả về các giá trị theo thứ tự

 SELECT name,address,phone_number
 INTO v_employee_name,v_employee_address,v_employee_phone_number
 FROM employee
 WHERE employee_id = 6;
4

Tạo truy vấn từ chuỗi [Chỉnh sửa | Chỉnh sửa nguồn][edit | edit source]

Đôi khi cần phải tạo một truy vấn từ một chuỗi. Đó là, nếu lập trình viên muốn tạo một truy vấn tại thời gian chạy [tạo truy vấn Oracle một cách nhanh chóng], dựa trên một tập hợp các trường hợp cụ thể, v.v.

Cần cẩn thận để không chèn trực tiếp dữ liệu do người dùng cung cấp vào chuỗi truy vấn động mà không cần kiểm tra dữ liệu rất nghiêm ngặt đối với các ký tự thoát SQL; Nếu không, bạn sẽ có một rủi ro đáng kể khi cho phép các bản hack phát dữ liệu trên mã của bạn.

Dưới đây là một ví dụ rất đơn giản về cách thực hiện truy vấn động. Tất nhiên, có nhiều cách khác nhau để làm điều này; Đây chỉ là một ví dụ về chức năng.

 SELECT name,address,phone_number
 INTO v_employee_name,v_employee_address,v_employee_phone_number
 FROM employee
 WHERE employee_id = 6;
5

Hoạt động chuỗi [Chỉnh sửa | Chỉnh sửa nguồn][edit | edit source]

Chiều dài [Chỉnh sửa | Chỉnh sửa nguồn][edit | edit source]

Độ dài trả về một số nguyên biểu thị độ dài của một chuỗi đã cho. Nó có thể được gọi là: Chiều dài, chiều dài, độ dài2 và chiều dài4.lengthb, lengthc, length2, and length4.

 SELECT name,address,phone_number
 INTO v_employee_name,v_employee_address,v_employee_phone_number
 FROM employee
 WHERE employee_id = 6;
6
 SELECT name,address,phone_number
 INTO v_employee_name,v_employee_address,v_employee_phone_number
 FROM employee
 WHERE employee_id = 6;
7
 SELECT name,address,phone_number
 INTO v_employee_name,v_employee_address,v_employee_phone_number
 FROM employee
 WHERE employee_id = 6;
8

Ứng dụng [Chỉnh sửa | Chỉnh sửa nguồn][edit | edit source]

Ứng dụng [trong chuỗi] Trả về một số nguyên chỉ định vị trí của chuỗi con trong một chuỗi. Lập trình viên có thể chỉ định sự xuất hiện của chuỗi họ muốn phát hiện, cũng như vị trí bắt đầu. Một tìm kiếm không thành công trả về 0.

 SELECT name,address,phone_number
 INTO v_employee_name,v_employee_address,v_employee_phone_number
 FROM employee
 WHERE employee_id = 6;
9
 INSERT INTO table_name VALUES ['Value1', 'Value2', ... ];
 INSERT INTO table_name[ Column1, Column2, ... ] VALUES [ 'Value1', 'Value2', ... ];
0
 INSERT INTO table_name VALUES ['Value1', 'Value2', ... ];
 INSERT INTO table_name[ Column1, Column2, ... ] VALUES [ 'Value1', 'Value2', ... ];
1
 INSERT INTO table_name VALUES ['Value1', 'Value2', ... ];
 INSERT INTO table_name[ Column1, Column2, ... ] VALUES [ 'Value1', 'Value2', ... ];
2

Thay thế [Chỉnh sửa | Chỉnh sửa nguồn][edit | edit source]

Thay thế nhìn qua một chuỗi, thay thế một chuỗi bằng một chuỗi khác. Nếu không có chuỗi nào được chỉ định, nó sẽ loại bỏ chuỗi được chỉ định trong tham số chuỗi thay thế.

 INSERT INTO table_name VALUES ['Value1', 'Value2', ... ];
 INSERT INTO table_name[ Column1, Column2, ... ] VALUES [ 'Value1', 'Value2', ... ];
3

Subrtr [Chỉnh sửa | Chỉnh sửa nguồn][edit | edit source]

Subr [Subring] Trả về một phần của chuỗi đã cho. "Start_Pocation" là dựa trên 1, không dựa trên 0. Nếu "start_pocation" là âm, thì số lượng phụ từ cuối chuỗi. Nếu "độ dài" không được đưa ra, phần phụ mặc định là độ dài còn lại của chuỗi.

Subrtr [String, start_poseition [, length]]

 INSERT INTO table_name VALUES ['Value1', 'Value2', ... ];
 INSERT INTO table_name[ Column1, Column2, ... ] VALUES [ 'Value1', 'Value2', ... ];
4

Trả về "PL/SQL" Vì "P" trong "PL/SQL" ở vị trí thứ 8 trong chuỗi [tính từ 1 tại "O" trong "Oracle"]

 INSERT INTO table_name VALUES ['Value1', 'Value2', ... ];
 INSERT INTO table_name[ Column1, Column2, ... ] VALUES [ 'Value1', 'Value2', ... ];
5

Trả về "CheatSheet" kể từ "C" ở vị trí thứ 15 trong chuỗi và "T" là ký tự cuối cùng trong chuỗi.

 INSERT INTO table_name VALUES ['Value1', 'Value2', ... ];
 INSERT INTO table_name[ Column1, Column2, ... ] VALUES [ 'Value1', 'Value2', ... ];
6

Trả về "Cheat" kể từ "C" là ký tự thứ 10 trong chuỗi, đếm từ cuối chuỗi với "T" là vị trí 1.

Trim [Chỉnh sửa | Chỉnh sửa nguồn][edit | edit source]

Các chức năng này có thể được sử dụng để lọc các ký tự không mong muốn từ các chuỗi. Theo mặc định, họ xóa không gian, nhưng một bộ ký tự cũng có thể được chỉ định để loại bỏ.

 INSERT INTO table_name VALUES ['Value1', 'Value2', ... ];
 INSERT INTO table_name[ Column1, Column2, ... ] VALUES [ 'Value1', 'Value2', ... ];
7
 INSERT INTO table_name VALUES ['Value1', 'Value2', ... ];
 INSERT INTO table_name[ Column1, Column2, ... ] VALUES [ 'Value1', 'Value2', ... ];
8
 INSERT INTO table_name VALUES ['Value1', 'Value2', ... ];
 INSERT INTO table_name[ Column1, Column2, ... ] VALUES [ 'Value1', 'Value2', ... ];
9

DDL SQL [Chỉnh sửa | Chỉnh sửa nguồn][edit | edit source]

Bảng [Chỉnh sửa | Chỉnh sửa nguồn][edit | edit source]

Tạo bảng [Chỉnh sửa | Chỉnh sửa nguồn][edit | edit source]

Cú pháp để tạo bảng là:

 INSERT INTO table_name[ SELECT Value1, Value2, ... from table_name ];
 INSERT INTO table_name[ Column1, Column2, ... ] [ SELECT Value1, Value2, ... from table_name ];
0

Ví dụ:

 INSERT INTO table_name[ SELECT Value1, Value2, ... from table_name ];
 INSERT INTO table_name[ Column1, Column2, ... ] [ SELECT Value1, Value2, ... from table_name ];
1

Thêm cột [Chỉnh sửa | Chỉnh sửa nguồn][edit | edit source]

Cú pháp để thêm một cột là:

 INSERT INTO table_name[ SELECT Value1, Value2, ... from table_name ];
 INSERT INTO table_name[ Column1, Column2, ... ] [ SELECT Value1, Value2, ... from table_name ];
2

Ví dụ:

 INSERT INTO table_name[ SELECT Value1, Value2, ... from table_name ];
 INSERT INTO table_name[ Column1, Column2, ... ] [ SELECT Value1, Value2, ... from table_name ];
3

Thêm cột [Chỉnh sửa | Chỉnh sửa nguồn][edit | edit source]

Cú pháp để thêm một cột là:

 INSERT INTO table_name[ SELECT Value1, Value2, ... from table_name ];
 INSERT INTO table_name[ Column1, Column2, ... ] [ SELECT Value1, Value2, ... from table_name ];
4

Sửa đổi cột [Chỉnh sửa | Chỉnh sửa nguồn]

Ví dụ:

 INSERT INTO table_name[ SELECT Value1, Value2, ... from table_name ];
 INSERT INTO table_name[ Column1, Column2, ... ] [ SELECT Value1, Value2, ... from table_name ];
5

Thêm cột [Chỉnh sửa | Chỉnh sửa nguồn][edit | edit source]

Cú pháp để thêm một cột là:

 INSERT INTO table_name[ SELECT Value1, Value2, ... from table_name ];
 INSERT INTO table_name[ Column1, Column2, ... ] [ SELECT Value1, Value2, ... from table_name ];
6

Ví dụ:

 INSERT INTO table_name[ SELECT Value1, Value2, ... from table_name ];
 INSERT INTO table_name[ Column1, Column2, ... ] [ SELECT Value1, Value2, ... from table_name ];
7

Thêm cột [Chỉnh sửa | Chỉnh sửa nguồn][edit | edit source]

Cú pháp để thêm một cột là:[edit | edit source]
Sửa đổi cột [Chỉnh sửa | Chỉnh sửa nguồn] Cú pháp để sửa đổi một cột là: Cú pháp thay đổi bảng và ví dụ:
Thả cột [Chỉnh sửa | Chỉnh sửa nguồn] Cú pháp để thả một cột là: Ràng buộc [chỉnh sửa | Chỉnh sửa nguồn]
Các loại ràng buộc và mã [Chỉnh sửa | Chỉnh sửa nguồn] Loại mã Loại mô tả
Hành vi trên cấp độ C Loại mô tả
Hành vi trên cấp độ C Ràng buộc [chỉnh sửa | Chỉnh sửa nguồn]
Các loại ràng buộc và mã [Chỉnh sửa | Chỉnh sửa nguồn] Loại mã Ràng buộc [chỉnh sửa | Chỉnh sửa nguồn]
Các loại ràng buộc và mã [Chỉnh sửa | Chỉnh sửa nguồn] Loại mã Loại mô tả
Hành vi trên cấp độ[edit | edit source]

C

 INSERT INTO table_name[ SELECT Value1, Value2, ... from table_name ];
 INSERT INTO table_name[ Column1, Column2, ... ] [ SELECT Value1, Value2, ... from table_name ];
8

Kiểm tra trên bàn[edit | edit source]

Cột

 INSERT INTO table_name[ SELECT Value1, Value2, ... from table_name ];
 INSERT INTO table_name[ Column1, Column2, ... ] [ SELECT Value1, Value2, ... from table_name ];
9

O[edit | edit source]

Chỉ đọc trên một chế độ xem

 DELETE FROM table_name WHERE some_column=some_value
 DELETE FROM customer WHERE sold = 0;
0

Ví dụ:

 DELETE FROM table_name WHERE some_column=some_value
 DELETE FROM customer WHERE sold = 0;
1

Thêm cột [Chỉnh sửa | Chỉnh sửa nguồn][edit | edit source]

Cú pháp để thêm một cột là:

 DELETE FROM table_name WHERE some_column=some_value
 DELETE FROM customer WHERE sold = 0;
2

Ví dụ:

 DELETE FROM table_name WHERE some_column=some_value
 DELETE FROM customer WHERE sold = 0;
3

Thêm cột [Chỉnh sửa | Chỉnh sửa nguồn][edit | edit source]

Cú pháp để thêm một cột là:

Sửa đổi cột [Chỉnh sửa | Chỉnh sửa nguồn]

Ví dụ:

 DELETE FROM table_name WHERE some_column=some_value
 DELETE FROM customer WHERE sold = 0;
5

Thêm cột [Chỉnh sửa | Chỉnh sửa nguồn][edit | edit source]

Cú pháp để thêm một cột là:

 DELETE FROM table_name WHERE some_column=some_value
 DELETE FROM customer WHERE sold = 0;
6

Ví dụ:

 DELETE FROM table_name WHERE some_column=some_value
 DELETE FROM customer WHERE sold = 0;
7

Thêm cột [Chỉnh sửa | Chỉnh sửa nguồn][edit | edit source]

Cú pháp để thêm một cột là:[1]

 DELETE FROM table_name WHERE some_column=some_value
 DELETE FROM customer WHERE sold = 0;
8

Ví dụ:

 DELETE FROM table_name WHERE some_column=some_value
 DELETE FROM customer WHERE sold = 0;
9

Thêm cột [Chỉnh sửa | Chỉnh sửa nguồn][edit | edit source]

Cú pháp để thêm một cột là:

Sửa đổi cột [Chỉnh sửa | Chỉnh sửa nguồn][edit | edit source]

Cú pháp để sửa đổi một cột là:

 UPDATE customer SET state='CA';
0

Cú pháp thay đổi bảng và ví dụ: indicates that the combination of values in the indexed columns must be unique.

Thả cột [Chỉnh sửa | Chỉnh sửa nguồn] tells Oracle to collect statistics during the creation of the index. The statistics are then used by the optimizer to choose an optimal execution plan when the statements are executed.

Ví dụ:

 UPDATE customer SET state='CA';
1

Thêm cột [Chỉnh sửa | Chỉnh sửa nguồn]

Cú pháp để thêm một cột là:

 UPDATE customer SET state='CA';
2

Sửa đổi cột [Chỉnh sửa | Chỉnh sửa nguồn]

 UPDATE customer SET state='CA';
3

Cú pháp để sửa đổi một cột là:[edit | edit source]

Cú pháp thay đổi bảng và ví dụ:

Thả cột [Chỉnh sửa | Chỉnh sửa nguồn]

 UPDATE customer SET state='CA';
4

Ví dụ:

 UPDATE customer SET state='CA';
5

Cú pháp để thả một cột là:

Ràng buộc [chỉnh sửa | Chỉnh sửa nguồn]WHERE clause as follows:

 UPDATE customer SET state='CA';
6

Các loại ràng buộc và mã [Chỉnh sửa | Chỉnh sửa nguồn][edit | edit source]

Loại mã

 UPDATE customer SET state='CA';
7

Ví dụ:

 UPDATE customer SET state='CA';
8

Loại mô tảcustomer_id is renamed to new_customer_id.

Hành vi trên cấp độ[edit | edit source]

CALTER INDEX command to collect statistics. You collect statistics so that oracle can use the indexes in an effective manner. This recalcultes the table size, number of rows, blocks, segments and update the dictionary tables so that oracle can use the data effectively while choosing the execution plan.

Kiểm tra trên bàn

 UPDATE customer SET state='CA';
9

Ví dụ:

 UPDATE customer SET name='Joe' WHERE customer_id=10;
0

Cộtcustomer_idx.

O[edit | edit source]

Chỉ đọc trên một chế độ xem

 UPDATE customer SET name='Joe' WHERE customer_id=10;
1

Ví dụ:

Sự vậtcustomer_idx is dropped.

Pedit | edit source]

Khóa chính[edit | edit source]

Tạo người dùng [Chỉnh sửa | Chỉnh sửa nguồn][edit | edit source]

Cú pháp để tạo người dùng là:

 UPDATE customer SET name='Joe' WHERE customer_id=10;
2

Ví dụ:

 UPDATE customer SET name='Joe' WHERE customer_id=10;
3

Cấp đặc quyền [Chỉnh sửa | Chỉnh sửa nguồn][edit | edit source]

Cú pháp để cấp các đặc quyền là:

 UPDATE customer SET name='Joe' WHERE customer_id=10;
4

Ví dụ:

 UPDATE customer SET name='Joe' WHERE customer_id=10;
5

Cấp đặc quyền [Chỉnh sửa | Chỉnh sửa nguồn][edit | edit source]

Cú pháp để cấp các đặc quyền là:

 UPDATE customer SET name='Joe' WHERE customer_id=10;
6

Ví dụ:

 UPDATE customer SET name='Joe' WHERE customer_id=10;
7

Cấp đặc quyền [Chỉnh sửa | Chỉnh sửa nguồn][edit | edit source]

Cú pháp để cấp các đặc quyền là:

Thay đổi mật khẩu [Chỉnh sửa | Chỉnh sửa nguồn][edit | edit source]

Cú pháp để thay đổi mật khẩu người dùng là:

Nhập khẩu và xuất [Chỉnh sửa | Chỉnh sửa nguồn]

 UPDATE customer SET name='Joe' WHERE customer_id=10;
8

Có hai phương pháp sao lưu và khôi phục các bảng và dữ liệu cơ sở dữ liệu. Các công cụ 'exp' và 'imp' là các công cụ đơn giản hơn hướng đến cơ sở dữ liệu nhỏ hơn. Nếu các cấu trúc cơ sở dữ liệu trở nên phức tạp hơn hoặc rất lớn [ví dụ> 50 & NBSP; GB] thì sử dụng công cụ RMAN là phù hợp hơn.

Nhập tệp kết xuất bằng IMP [Chỉnh sửa | Chỉnh sửa nguồn]

 UPDATE customer SET name='Joe' WHERE customer_id=10;
9

Lệnh này được sử dụng để nhập các bảng Oracle và dữ liệu bảng từ tệp *.dmp được tạo bởi công cụ 'exp'. Hãy nhớ rằng đây là một lệnh được thực thi từ dòng lệnh thông qua $ oracle_home/bin và không nằm trong SQL*plus.

 UPDATE movies SET invoice='paid' WHERE paid > 0;
0

Cú pháp để nhập tệp kết xuất là:[edit | edit source]

Có số lượng tham số bạn có thể sử dụng cho các từ khóa.[edit | edit source]

Để xem tất cả các từ khóa:[edit | edit source]

  • Một ví dụ:
  • PL/SQL [Chỉnh sửa | Chỉnh sửa nguồn]
  • Người vận hành [Chỉnh sửa | Chỉnh sửa nguồn]
  • Toán tử số học [Chỉnh sửa | Chỉnh sửa nguồn]
  • Bổ sung: +
Phép trừ: -[edit | edit source]

Phép nhân: *

 UPDATE movies SET invoice='paid' WHERE paid > 0;
1

Phân công: /

 UPDATE movies SET invoice='paid' WHERE paid > 0;
2

Power [chỉ PL/SQL]: **[edit | edit source]

  • Ví dụ [Chỉnh sửa | Chỉnh sửa nguồn]
  • Cung cấp cho tất cả nhân viên từ ID khách hàng 5 tăng 5%
  • Xác định mức lương sau thuế cho tất cả nhân viên
  • Các toán tử so sánh [Chỉnh sửa | Chỉnh sửa nguồn]
  • Lớn hơn:>
  • Lớn hơn hoặc bằng:> =
Phép trừ: -[edit | edit source]
 UPDATE movies SET invoice='paid' WHERE paid > 0;
3
 UPDATE movies SET invoice='paid' WHERE paid > 0;
4

Phép nhân: *[edit | edit source]

  • Phân công: /

Power [chỉ PL/SQL]: **

Ví dụ [Chỉnh sửa | Chỉnh sửa nguồn][edit | edit source]

  • Một ví dụ:
  • PL/SQL [Chỉnh sửa | Chỉnh sửa nguồn]

Người vận hành [Chỉnh sửa | Chỉnh sửa nguồn][edit | edit source]

Toán tử số học [Chỉnh sửa | Chỉnh sửa nguồn][edit | edit source]

Bổ sung: +

Phép trừ: -

Phép nhân: *

Phân công: /[edit | edit source]

Power [chỉ PL/SQL]: **

 UPDATE movies SET invoice='paid' WHERE paid > 0;
5

Ví dụ [Chỉnh sửa | Chỉnh sửa nguồn]

 UPDATE movies SET invoice='paid' WHERE paid > 0;
6
 UPDATE movies SET invoice='paid' WHERE paid > 0;
7
 UPDATE movies SET invoice='paid' WHERE paid > 0;
8

Note:

  1. Cung cấp cho tất cả nhân viên từ ID khách hàng 5 tăng 5%
  2. Xác định mức lương sau thuế cho tất cả nhân viên

Các toán tử so sánh [Chỉnh sửa | Chỉnh sửa nguồn][edit | edit source]

Lớn hơn:>

 UPDATE movies SET invoice='paid' WHERE paid > 0;
9
 CREATE SEQUENCE sequence_name
     MINVALUE value
     MAXVALUE value
     START WITH value
     INCREMENT BY value
     CACHE value;
0
 CREATE SEQUENCE sequence_name
     MINVALUE value
     MAXVALUE value
     START WITH value
     INCREMENT BY value
     CACHE value;
1

Lớn hơn hoặc bằng:> =

  • Ít hơn:
  • Ít hơn hoặc bằng:
  • Tương đương: =
  • Bất bình đẳng: & nbsp;! = ^= ¬ = [phụ thuộc vào nền tảng]

Toán tử chuỗi [Chỉnh sửa | Chỉnh sửa nguồn][edit | edit source]

  1. Concatenate: || //www.psoug.org/reference/constraints.html
  2. Tạo hoặc thay thế Quy trình bổ sung [A trong Varchar2 [100], B trong Varchar2 [100], C Out Varchar2 [200]] là bắt đầu c: = Concat [a, '-', b]; "First Expressions" by Jonathan Gennick for more information in this issue

  • Nhà khai thác ngày [Chỉnh sửa | Chỉnh sửa nguồn]
  • Các loại [Chỉnh sửa | Chỉnh sửa nguồn]

Các loại PL/SQL cơ bản [Chỉnh sửa | Chỉnh sửa nguồn][edit | edit source]

Loại vô hướng [được xác định trong tiêu chuẩn gói]: số, char, varchar2, boolean, binary_integer, long \ long Raw, ngày, dấu thời gian và gia đình của nó bao gồm các khoảng thời gian][edit | edit source]

Các loại tổng hợp [các loại do người dùng định nghĩa]: bảng, bản ghi, bảng lồng nhau và varray

LOB DataTypes & NBSP ;: Được sử dụng để lưu trữ một lượng lớn dữ liệu không cấu trúc

 CREATE SEQUENCE sequence_name
     MINVALUE value
     MAXVALUE value
     START WITH value
     INCREMENT BY value
     CACHE value;
2
 CREATE SEQUENCE sequence_name
     MINVALUE value
     MAXVALUE value
     START WITH value
     INCREMENT BY value
     CACHE value;
3

Ví dụ:

 CREATE SEQUENCE sequence_name
     MINVALUE value
     MAXVALUE value
     START WITH value
     INCREMENT BY value
     CACHE value;
4

%Loại - khai báo biến loại neo [Chỉnh sửa | Chỉnh sửa nguồn][edit | edit source]

Cú pháp cho các khai báo loại neo là

Ví dụ

 CREATE SEQUENCE sequence_name
     MINVALUE value
     MAXVALUE value
     START WITH value
     INCREMENT BY value
     CACHE value;
5

Các biến neo cho phép đồng bộ hóa tự động của loại biến neo với loại khi có thay đổi loại.

  1. Các loại neo được đánh giá tại thời điểm biên dịch, vì vậy hãy biên dịch lại chương trình để phản ánh sự thay đổi của loại trong biến neo. – The parameter can be referenced by the procedure or function. The value of the parameter can not be overwritten by the procedure or function.
  2. Bộ sưu tập [Chỉnh sửa | Chỉnh sửa nguồn] – The parameter can not be referenced by the procedure or function, but the value of the parameter can be overwritten by the procedure or function.
  3. Trong out - tham số có thể được tham chiếu theo quy trình hoặc hàm và giá trị của tham số có thể được ghi đè bằng quy trình hoặc chức năng. – The parameter can be referenced by the procedure or function and the value of the parameter can be overwritten by the procedure or function.

Ngoài ra, bạn có thể khai báo một giá trị mặc định;DEFAULT value;

 CREATE SEQUENCE sequence_name
     MINVALUE value
     MAXVALUE value
     START WITH value
     INCREMENT BY value
     CACHE value;
6

Sau đây là một ví dụ đơn giản về một thủ tục:

 CREATE SEQUENCE sequence_name
     MINVALUE value
     MAXVALUE value
     START WITH value
     INCREMENT BY value
     CACHE value;
7
 CREATE SEQUENCE sequence_name
     MINVALUE value
     MAXVALUE value
     START WITH value
     INCREMENT BY value
     CACHE value;
8
 CREATE SEQUENCE sequence_name
     MINVALUE value
     MAXVALUE value
     START WITH value
     INCREMENT BY value
     CACHE value;
9
 CREATE SEQUENCE supplier_seq
     MINVALUE 1
     MAXVALUE 999999999999999999999999999
     START WITH 1
     INCREMENT BY 1
     CACHE 20;
0
 CREATE SEQUENCE supplier_seq
     MINVALUE 1
     MAXVALUE 999999999999999999999999999
     START WITH 1
     INCREMENT BY 1
     CACHE 20;
1
 CREATE SEQUENCE supplier_seq
     MINVALUE 1
     MAXVALUE 999999999999999999999999999
     START WITH 1
     INCREMENT BY 1
     CACHE 20;
2

Khối ẩn danh [Chỉnh sửa | Chỉnh sửa nguồn][edit | edit source]

 CREATE SEQUENCE supplier_seq
     MINVALUE 1
     MAXVALUE 999999999999999999999999999
     START WITH 1
     INCREMENT BY 1
     CACHE 20;
3

Chuyển các tham số cho logic được lưu trữ [Chỉnh sửa | Chỉnh sửa nguồn][edit | edit source]

Có ba cú pháp cơ bản để chuyển các tham số cho một quy trình được lưu trữ: ký hiệu vị trí, ký hiệu được đặt tên và ký hiệu hỗn hợp.

Các ví dụ sau đây gọi quy trình này cho từng cú pháp cơ bản để đi qua tham số:

 CREATE SEQUENCE supplier_seq
     MINVALUE 1
     MAXVALUE 999999999999999999999999999
     START WITH 1
     INCREMENT BY 1
     CACHE 20;
4Ký hiệu vị trí [Chỉnh sửa | Chỉnh sửa nguồn][edit | edit source]

Chỉ định các tham số giống nhau theo cùng một thứ tự như chúng được khai báo trong quy trình. Ký hiệu này là nhỏ gọn, nhưng nếu bạn chỉ định các tham số [đặc biệt là chữ] theo thứ tự sai, lỗi có thể khó phát hiện. Bạn phải thay đổi mã của mình nếu danh sách tham số của thủ tục thay đổi.

 CREATE SEQUENCE supplier_seq
     MINVALUE 1
     MAXVALUE 999999999999999999999999999
     START WITH 1
     INCREMENT BY 1
     CACHE 20;
5Ký hiệu được đặt tên [Chỉnh sửa | Chỉnh sửa nguồn][edit | edit source]

Chỉ định tên của từng tham số cùng với giá trị của nó. Một mũi tên [=>] đóng vai trò là nhà điều hành hiệp hội. Thứ tự của các tham số không đáng kể. Ký hiệu này là nhiều dòng hơn, nhưng làm cho mã của bạn dễ đọc và bảo trì hơn. Đôi khi bạn có thể tránh thay đổi mã nếu danh sách tham số của thủ tục thay đổi, ví dụ: nếu các tham số được sắp xếp lại hoặc tham số tùy chọn mới được thêm vào. Ký hiệu được đặt tên là một thông lệ tốt để sử dụng cho bất kỳ mã nào gọi API của người khác hoặc xác định API cho người khác sử dụng.

 CREATE SEQUENCE supplier_seq
     MINVALUE 1
     MAXVALUE 999999999999999999999999999
     START WITH 1
     INCREMENT BY 1
     CACHE 20;
6Ký hiệu hỗn hợp [Chỉnh sửa | Chỉnh sửa nguồn][edit | edit source]

Chỉ định các tham số đầu tiên với ký hiệu vị trí, sau đó chuyển sang ký hiệu được đặt tên cho các tham số cuối cùng. Bạn có thể sử dụng ký hiệu này để gọi các quy trình có một số tham số cần thiết, theo sau là một số tham số tùy chọn.

 CREATE SEQUENCE supplier_seq
     MINVALUE 1
     MAXVALUE 999999999999999999999999999
     START WITH 1
     INCREMENT BY 1
     CACHE 20;
7

Chức năng bảng [Chỉnh sửa | Chỉnh sửa nguồn][edit | edit source]

 CREATE SEQUENCE supplier_seq
     MINVALUE 1
     MAXVALUE 999999999999999999999999999
     START WITH 1
     INCREMENT BY 1
     CACHE 20;
8
 CREATE SEQUENCE supplier_seq
     MINVALUE 1
     MAXVALUE 999999999999999999999999999
     START WITH 1
     INCREMENT BY 1
     CACHE 20;
9
 SELECT name,address,phone_number
 INTO v_employee_name,v_employee_address,v_employee_phone_number
 FROM employee
 WHERE employee_id = 6;
00
 SELECT name,address,phone_number
 INTO v_employee_name,v_employee_address,v_employee_phone_number
 FROM employee
 WHERE employee_id = 6;
01

Kiểm soát dòng chảy [Chỉnh sửa | Chỉnh sửa nguồn][edit | edit source]

Toán tử có điều kiện [Chỉnh sửa | Chỉnh sửa nguồn][edit | edit source]
  • và và
  • hoặc: hoặc
  • không không
Ví dụ [Chỉnh sửa | Chỉnh sửa nguồn][edit | edit source]

Nếu tiền lương> 40000 và tiền lương 70000 và tiền lương

Nếu/sau đó/khác [Chỉnh sửa | Chỉnh sửa nguồn][edit | edit source]

 SELECT name,address,phone_number
 INTO v_employee_name,v_employee_address,v_employee_phone_number
 FROM employee
 WHERE employee_id = 6;
02

Mảng [Chỉnh sửa | Chỉnh sửa nguồn][edit | edit source]

Mảng liên kết [Chỉnh sửa | Chỉnh sửa nguồn][edit | edit source]
  • Các mảng được gõ mạnh, hữu ích như bảng trong bộ nhớ
Ví dụ [Chỉnh sửa | Chỉnh sửa nguồn][edit | edit source]
  • Nếu tiền lương> 40000 và tiền lương 70000 và tiền lương
  • Nếu/sau đó/khác [Chỉnh sửa | Chỉnh sửa nguồn]

 SELECT name,address,phone_number
 INTO v_employee_name,v_employee_address,v_employee_phone_number
 FROM employee
 WHERE employee_id = 6;
03

  • Mảng [Chỉnh sửa | Chỉnh sửa nguồn]

 SELECT name,address,phone_number
 INTO v_employee_name,v_employee_address,v_employee_phone_number
 FROM employee
 WHERE employee_id = 6;
04

Mảng liên kết [Chỉnh sửa | Chỉnh sửa nguồn][edit | edit source]

Các mảng được gõ mạnh, hữu ích như bảng trong bộ nhớ

Ví dụ rất đơn giản, chỉ mục là chìa khóa để truy cập mảng, do đó không cần phải lặp qua toàn bộ bảng trừ khi bạn có ý định sử dụng dữ liệu từ mọi dòng của mảng.[edit | edit source]

  • Chỉ số cũng có thể là một giá trị số.
  • Ví dụ phức tạp hơn, sử dụng một bản ghi
  • Apex [Chỉnh sửa | Chỉnh sửa nguồn]

Ứng dụng Oracle Express AKA APEX, là môi trường phát triển phần mềm dựa trên web chạy trên cơ sở dữ liệu Oracle.[edit | edit source]

  • //www.psoug.org/reference/

Bài Viết Liên Quan

Chủ Đề