Hiển thị kết quả từ 1 đến 3 / 3
  1. #1
    Tham gia
    25-07-2009
    Bài viết
    25
    Like
    0
    Thanked 0 Times in 0 Posts

    Định dạng kí tự trong Oracle.

    Hiện tại, mình muốn tạo 1 bảng mới, ví dụ như bàn EMPLOYEE, các thuộc tính của bảng là ID, NAME và GENDER như sau:

    ID: VARCHAR(10) có định dạng [A-Z][A-Z][A-Z]-[0-9][0-9][A-Z]-[0-9][A-Z]
    NAME: VARCHAR(50)
    GENDER: VARCHAR(6) chỉ nhận một trong hai giá trị "Female" hoặc "Male"

    Trong đó: [A-Z] nghĩa là đại diện trong 1 kí tự và giá trị của kí tự đó nằm trong khoảng từ A tới Z, khi nhập liệu chỉ nhận kí tự từ A tới Z.
    [0-9] nghĩa là đại diện cho 1 số nguyên và giá trị của số nguyên đó nằm trong khoảng từ 0 tới 9, khi nhập liệu chỉ nhận số từ 0 tới 9.
    - xuất hiện kí tự '-' thông thường.
    ID là khóa chính.

    Thì trong khi mình tạo bảng EMPLOYEE, mình muốn tạo cột ID với định dạng như trên thì mình phải viết như thế nào, ý mình là viết câu lệnh kiểm tra điều kiện trong khi định nghĩa cột ID, câu lệnh kiểm tra đó nằm trong thân của câu lệnh "CREATE TABLE EMPLOYEE ..."?

    Mong các cao thủ chỉ giáo :|

    [=========> Bổ sung bài viết <=========]

    Sao không có ai chỉ giáo zị nè
    ví dụ một số định dạng:
    IFT-50A-1A
    IFT-50A-1B
    BSN-09K-7C
    BSN-10K-4A
    Được sửa bởi asianpacific lúc 09:36 ngày 02-05-2011 Reason: Bổ sung bài viết
    Quote Quote

  2. #2
    Tham gia
    02-04-2007
    Bài viết
    58
    Like
    1
    Thanked 1 Time in 1 Post

    Thông tin Tao trigger

    Cai nay ban phai tao trigger thoi. minh gui ban source cua trigger nha.o day minh chi ap dung cho ky tu tu toi 9 thoi nha. con tu A toi Z thi tuong tu
    create or replace trigger employee_trigger
    before insert or update on employee
    referencing new as new old as old for each now
    declare
    Letter_number number:=0;
    exception1 exception
    begin
    Letter_number:=length(ltrim(:new.id));
    for i in 1..Letter_number
    loop
    if substr(:new.id,i,1) not in ('0','2','3','4','5','6','7','8','9') then
    raise exception1;
    end if;
    end loop;
    exception
    when exception1 then
    Raise_Application_Error(-20998,'NHap khong dung dinh dang');
    end

  3. #3
    Tham gia
    24-08-2011
    Bài viết
    29
    Like
    0
    Thanked 1 Time in 1 Post
    thanks mình k hiểu cho mấy hjhj

Bookmarks

Quy định

  • Bạn không thể tạo chủ đề mới
  • Bạn không thể trả lời bài viết
  • Bạn không thể gửi file đính kèm
  • Bạn không thể sửa bài viết của mình
  •