zzz

Like trang page giúp ad nhé! THANK ALL

Thứ Ba, 1 tháng 12, 2015

Procedure:Single IN Parameter

NOTE:
Có tham số truyền vào . Có thể là chuỗi, or time,..

  1. Example
CREATE OR REPLACE PROCEDURE example1(paramx IN VARCHAR2)
IS
BEGIN
  DBMS_OUTPUT.PUT_LINE('HI
ỂN THỊ THAM SỐ' || paramx);
END;
/
Run:
Exec example1(' biến xxx ')

Procedure : No Parameters

NOTE:
  • Không có tham số truyền vào, cũng như không có tham sđầu ra .
  1. Cấu trúc procedure
CREATE OR REPLACE PROCEDURE <procedure_name> IS

  <code here>
END <procedure_name>;
/

  1. Example
CREATE OR REPLACE PROCEDURE example1
IS
BEGIN
   DBMS_OUTPUT.PUT_LINE(' HELLO PROCEDURE ');
END;
/

RUN : exec example1 

Chủ Nhật, 29 tháng 11, 2015

Sequence và index trong Oracle

# SEQUENCE
Sequence là danh sách tuần tự  của con số, và được tạo bởi Oracle sever.
Mục đích : Sequence dùng để tạo khóa chính một cách tự động cho dữ lệu.
Sequence thường dùng để tạo khóa chính trong sinh mã tự động. Có thể dùng chung cho nhiều đối tượng. Con số sequence này có chiều dài tối đa là 38 số. 
  1. Tạo SEQUENCE
Để tạo sequence, dùng lệnh create như sau
CREATE SEQUENCE sequence_name
INCREMENT BY integer
START WITH integer
[MAXVALUE integer]
[MINVALUE integer]
[CYCLE/NO CYCLE];

Trong đó:
INCREMENT BY : chỉ định khoảng cách của dãy số tuần tự
START WITH     : Chỉ định số đầu tiên của dãy số tuần tự
MAXVALUE     : Giá trị lớn nhất của dãy tuần tự
MINVALUE     : Giá trị nhỏ nhất của dãy tuần tự
CYCLE/NO CYCLE: Dãy tuần tự có quay vòng khi đến điểm cuối. Mặc định là NO CYCLE
Ví dụ:
CREATE SEQUENCE sample_sequen INCREMENT 1 STRAT WITH 2 MAXVALUE 100; -- max có 100 bản ghi
  1. Xoá và sửa sequence
Sửa bằng lệnh:
ALTER SEQUENCE sequence_name
INCREMENT BY integer
START WITH integer
[MAXVALUE integer]
[MINVALUE integer]
[CYCLE/NO CYCLE];
  1. Xoá bằng lệnh:
DROP SEQUENCE sequence_name ;

#INDEX
Index là một  cấu trúc cơ sở dữ liệu, được sever sử dụng để tìm một row trong bảng một cách nhanh chóng. Index bao gồm một key value ( một cột (column) trong hàng (row) ) và rowid.
Hd:    key -value (rowid - và một cột ) , nó sẽ map id của bảng với giá trị 1 cột
Mục đích : để tìm row được nhanh hơn .
  1. Tạo index
CREATE [UNIQUE]] INDEX index_name
ON TABLE ( column [,column...]);
Khi nào dùng index:
  • Dùng  index để query cho nhanh.
  • Dùng Index khi mà việc lấy dữ liệu <15% số row trong bảng.
  • Index những column nào dùng để nối  giữa các bảng lẫn nhau.
  • Không nên dùng Index cho các bảng nào chỉ có vài row.
  • Primaryvà unique key ( khóa chính và khóa duy nhất)  tự động có index, nhưng nên có index cho foreign key( khóa ngoại).
Ví dụ :
CREATE INDEX pro_index ON PROJECT (PROJ_NAME);
  • Pro_index: là tên của index
  • PROJECT : tên bảng
  • PROJ_NAME : tên trường
  1. Xóa index
Code
DROP INDEX pro_idex ;

check kết nối tài khoản oracle

1.      Kết nối tới server Oracle từ xa

Mẫu: connect user/pass@host/service_name

2.      Kết nối tới người dùng oracle từ Linux


[oracle@PTUDServer3 dpdump]$ sqlplus PTUD_MONITOR/123456@orcl;
sqlplus user_name/password@sid;

Mở listener để cho phép oracle server và client giao tiếp với nhau

1.      Mở listener để cho phép oracle server và client giao tiếp với nhau


[oracle@PTUDServer2 db_1]$ lsnrctl
LSNRCTL> start

[oracle@PTUDServer2 ~]$ cd $ORACLE_HOME
[oracle@PTUDServer2 db_1]$ lsnrctl status

Xác định đường dẫn vật lý data file của 1 tablespace

1.      Xác định đường dẫn vật lý data file của 1 tablespace


select tablespace_name,file_name from dba_data_files where TABLESPACE_NAME = 'USERS';

Xác định tablespace thuộc 1 schema

1.      Xác định tablespace thuộc 1 schema