You are on page 1of 5

1. What is OPEN SQL?

(Open SQL statements are a subset of Standard SQL that is fully integrated in the ABAP
language)

SQL là chữ viết tắt của Structured Query Language, là một ngôn ngữ truy vấn có
cấu trúc được sử dụng trong TABLE.

OPEN SQL là một tập hợp con của ngôn ngữ SQL chuẩn được tích hợp đầy đủ
trong ngôn ngữ ABAP ( trở thành 1 phần của ngôn ngữ ABAP và viết thẳng vào
chương trình ABAP, có thể gián tiếp tác động: đọc, xoá, sửa,…lên database để lấy
data)

 So sánh Open SQL với SQL?

SQL là structured Query language ( ngôn ngữ truy vấn có cấu trúc) được sử dụng trong table
SQL gồm field (1 cột) và row (dòng). Trong SQL có khoá chính, khoá chính là khoá định danh
không phép được trùng dữ liệu với các row còn lại.

Open SQL là tập hợp con của SQL, được dùng trong ngôn ngữ lập trình trong ngôn ngữ ABAP

2. Why OPEN SQL?

 TẠI sao ABAP lại sử dụng OPEN SQL ?


Lí do là các bạn có thể nhìn vào hình ảnh minh hoạ sau đây
 NHƯ CÁC BẠN THẤY THÌ

Open SQL nằm ở tầng AS. Open SQL có chức năng chuyển đổi câu lệnh ABAP sang câu lệnh SQL để
lấy Data từ tầng DB Server. Khi hệ thống nâng cấp lên thì không phải sửa đổi câu lệnh ABAP.
Còn nếu sử dụng Native SQL sẽ truy vấn trực tiếp xuống tầng DB Server, khi hệ thống nâng cấp thì phải
sửa toàn bộ câu lệnh ABAP.

Vì vậy nên việc sử dụng OPEN SQL trở nên có lợi và hiệu quả hơn vì

Các câu lệnh SQL mở cho phép lập trình viên ABAP truy cập dữ liệu thống nhất mà không cần quá quan
tâm hệ thống cơ sở dữ liệu được cài đặt là gì.
 So sánh OPEN SQL với NATIVE SQL?

Native SQL: viết ngôn ngữ SQL tương ứng với hệ cơ sở quản trị dữ liệu (DB) mà SAP cài lên.
Ví dụ : Nếu hệ thống SAP sử dụng Oracle Database (DB) thì ngôn ngữ SQL native phải sử
dụng là ngôn ngữ PLSQL.

Tuy nhiên, Open SQL không truy cập trực tiếp vào trong DATABASE. Sau này nếu viết chương
trình bằng OPEN SQL thì khi hệ thống upgrate thay đổi DB thì chương trình vẫn chạy được.
( Điều đó có nghĩa là bạn không cần quan tâm đến loại máy chủ DB nào mà hệ thống của bạn
đang hoạt động )

Nhóm các câu lệnh cơ bản trong openSQL bao gồm:


1. SELECT
2. UPDATE
3. INSERT
4. UPDATE
5. MODIFY
6. DELETE

3. SELECT SQL STATEMENTS

=> Seclect là một câu lệnh để lấy dữ liệu từ 1 hay nhiều bảng trong cơ sở dữ liệu. Câu
lệnh select thường được kết hợp với một số các câu lệnh và điều kiện khác để lấy
được dữ liệu theo yêu cầu.

3.1 1 câu lệnh SELECT có cú pháp như sau:

SELECT <Field>
FROM <Table>
INTO <target> => Nếu chúng ta sử dụng Từ khóa Tables là một từ khoá đã cũ so với hiện
nay thì sẽ không có phần INTO này
WHERE <condition>

 Example: Liệt kê họ tên của tất các các nhân viên từ bảng EMPLOYEE

SELECT Name
From Employee

3.2 SELECT using obsolete TABLES

Khi chúng ta tiếp cận với câu lệnh SELECT thì đôi khi các bạn sẽ thấy từ khoá TABLES hiện ra ở
dòng đầu tiên, đó là những câu lệnh OBSOLETE SELECT tức là những câu lệnh đã lỗi thời mà
hiện nay không còn dùng nữa.

Example 1: đây là một ví dụ về việc sử dụng câu lệnh obsolete SELECT

 Tables: Tên bảng sẽ sử dụng để lấy data => câu lệnh này không được sử dụng nữa vì lỗi
thời

 Dòng Write này dùng để: xuất ra kết quả, trong đó:
Carrid: hãng bay
Connid: số chuyến bay
Country: quốc gia đi
City from: thành phố xuất phát

Result:
Database là các cơ sở dữ liệu ( là một tập hợp các dữ liệu)
Cơ sở dữ liệu có cấu trúc sẽ bao gồm 2 thành phần : Table và Relationship giữa các table .
 Cơ sở dữ liệu có cấu trúc là tập hợp con của cơ sở dữ liệu

3.3 Từ khoá WHERE trong câu lệnh SELECT

Example: đây là câu lệnh dùng để lọc những chuyến bay đến MỸ , chúng ta để ý đến từ khoá
where ở đây, nó đã thể hiện cái điều kiện mà chúng ta cần

 Lọc những chuyến bay đến Mỹ

Result:
 Đây là những toán tử được sử dụng trong câu lệnh có từ khoá WHERE:

 In: dùng toán tử này để search giá trị trong một table, danh sách
 Between … and:
 Like:
 In : dùng trong select option
 Is ( not) initial: xác định gía trị có phải là giá trị rỗng hay không
 And, or:
 not:

You might also like