Lập trỡnh Perl trong PostgreSQL

Một phần của tài liệu Ms SQL server và postgre SQl (Trang 42 - 45)

Cỏc trỡnh ứng dụng độc lập với cơ sở dữ liệu cú thể dễ dàng thay đổi, cập nhật hệ thống hoặc sử dụng cỏc host cục bộ hay từ xa mà khụng cần thay đổi mó nguồn. Để đạt được điều này người ta sử dụng module DBI (Perl5 Database Interface Module). Vậy làm sao DBI cú thể thực hiện cỏi mà nú phải làm?

DBI là một giao diện cơ sở dữ liệu chung cung cấp cho một API tạo ra cỏc script để sử dụng được cỏc database driver ( DBD). DBI được tớch hợp với cỏc driver như ODBC và PROXY ( được sử dụng cho cỏc kết nối của client/server). DBI hỗ trợ cho một số cơ sở dữ liệu như Oracle, Sybase, SQL Server và một số server mó nguồn mở khỏc. Thậm chớ cú thể sử dụng DBI để truy nhập cỏc file cú định dạng khỏc. Nếu cú một server riờng cho mỡnh, thỡ cần phải xỏc định cú những driver nào trong hệ thống. Đầu tiờn, sử dụng những module cú khả năng quản trị để xỏc định liệu DBI cú được cài đặt hay khụng? Nếu khụng được cài đặt, hóy tỡm trong CPAN. Sau khi cài đặt được, thỡ chỳng ta mới cú thể sử dụng cỏc phương thức trong DBI là available_driver() và data_sources() để tỡm cỏc driver và cỏc database nào đang hiện diện.

Nếu cỏc driver cần lại khụng cú trong danh sỏch tỡm được thỡ hóy cố gắng cài lại trong một phiờn bản mới hơn.

Một cõu lệnh cú thể bao gồm 3 phần được sử dụng bởi cỏc thuộc tớnh. Thuộc tớnh RaiseError được mặc định là 0 và thiết lập lại khi lệnh "chết", kết thỳc script khi một lỗi xuất hiện đột ngột. Thuộc tớnh PrintError là được mặc định hoạt động và hiện văn bản lỗi từ DBI::err và DBI::errstr. Thuộc tớnh AutoCommit cũng mặc định đang được kớch hoạt và sẽ đưa ra cảnh cỏo nếu phương thức commit được sử dụng để thay đổi database. Khi một liờn kết được tạo lập, một dóy lệnh được thụng qua để tới database. Sau khi thực hiện song query, một liờn kết được đúng lại theo phương thức sau:

dbh->disconnect;

Cú 2 phương thức sau đõy để thực hiện query.

Nếu lệnh khụng đũi hỏi kết quả trả về như lệnh UPDATE, INSERT, hay DELETE, chỳng ta cú thể sử dụng phương thức này.

$rc = $dbh->do($statement);

trong đú $statement là một truy vấn SQL. Phương thức này ngay lập tức thực hiện truy vấn.

Một phương phỏp khỏc là đũi hỏi truy vấn cú quyền phải "chuẩn bị" ưu tiờn hơn để thực thi.

$sth = $dbh->prepare($statement);

Để biết thờm chi tiết xin hóy đến Perl DBI. Chỉ khi cõu lệnh được "chuẩn bị" thỡ mới được quyền thực thi đưa vào database:

$rv = $sth->execute;

Tại đõy, nếu thuộc tớnh AutoCommit khụng được thiết lập và cơ sở dữ liệu hộ trợ giao dịch thỡ cú thể:

$rc = $dbh->commit;

Phương thức thực hiện cú thể thực hiện nhiều lần cựng từ một bộ xử lý lệnh. Tuy nhiờn, chỳng ta nờn trả về cỏc kết quả giữa cỏc lần thực hiện. Để thực hiện đIều này chỳng ta sử dụng những phương thức sau fetchrow_array, fetchrow_arrayref,

fetchrow_hashref, và fetchall_arrayref. Mỗi phương thức trờn đều trả về dữ liệu ở dạng cụ thể là một mảng của cỏc giỏ trị trường hay tham chiếu tới một biến băm cú dạng name-value.

Dưới đõy thực hiện sử dụng fetchrow_hashref:

while ( my $href = $sth->fetchrow_hashref ) { print “Name:\t”.$href->{name}.”\n”; print “Phone:\t”.$href->{phone}.”\n”; }

Trong đú trường “name” và “phone” cú trong database và là khúa trong phương thức fetchrow_hashref.

Khi hoàn thành cỳ phỏp dữ liệu trả về, chỳng ta cú thể thụng bỏo cho bộ xử lý lệnh biết chỳng ta sẽ thực hiện lệnh tiếp theo:

$sth->finish();

Sử dụng module DBI Perl5, chỳng ta cú thể xõy dựng cỏc script linh động hỗ trợ cho cỏc nguồn cơ sở tuỳ ý.

Mục lục

Phần 1 SQL Server.

I. Giới thiệu chung về SQL 1

II. Giới thiệu chung SQL Server 2

Phần 2 SQL Server.

I. SQL server 2000 3

II. Transact SQL 6 (adsbygoogle = window.adsbygoogle || []).push({});

III. Cơ sở dữ liệu trờn SQL Server 8

IV. Sao lưu và phục hồi dữ liệu 11

V. Tớnh toàn vẹn dữ liệu 13

VI. Truy vấn nõng cao 15

VII. Kỹ thuật Import và Export Data 18

VIII. SQL Server và mạng 20

Phần 3. Sơ lược ngụn ngữ Perl.

I. Cấu trỳc của một chương trỡnh Perl 25

II. Cỏch chạy một chương trỡnh trong Perl 25 III. Cỏc kiểu dữ liệu trong Perl 26 IV. Xuất và nhập dữ liệu trong Perl 27

V. Cỏc phộp toỏn trờn Perl 27

VI. Cỏc lệnh cú cấu trỳc 28

VII. Lệnh nhỏ 28

VIII. So khớp 30

IX. Lệnh thao tỏc trờn biến băm và mảng 32

X. Toỏn tử và hàm trờn xõu 33

Phần 4. PostGre SQL.

I. Giới thiệu về Postgre SQL 34

II. Cấu trỳc của Postgress SQL 35

III. Đặc điểm nổi bật của Postgres SQL 37

IV. Lập trỡnh Perl trong Postgre SQL 38

Một phần của tài liệu Ms SQL server và postgre SQl (Trang 42 - 45)