delphi4arab منتديات دلفي للعرب
انشاء جدول ومولد ارقام وتحديد قيمة له ثم انشاء قادح لقواعد بيانات فايربيرد - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : تمارين دلفي وحلول (https://delphi4arab.net/forum/forumdisplay.php?fid=16)
+--- الموضوع : انشاء جدول ومولد ارقام وتحديد قيمة له ثم انشاء قادح لقواعد بيانات فايربيرد (/showthread.php?tid=10949)



انشاء جدول ومولد ارقام وتحديد قيمة له ثم انشاء قادح لقواعد بيانات فايربيرد - Delphi4Us - 06-07-2020

PHP كود :
with UniSQL1 do
begin
    SQL
.Clear;
    SQL.Add('Create TABLE tab1(');
    SQL.Add(     EMP_NO EMPNO NOT NULL,');
    SQL.Add('
    FIRST_NAME "FIRSTNAME" NOT NULL,');
    SQL.Add('
    LAST_NAME  "LASTNAME" NOT NULL,');
    SQL.Add('
    PHONE_EXT  VARCHAR(4) COLLATE NONE,');
    SQL.Add('
    PRIMARY KEY (EMP_NO)');
    SQL.Add('
)');
    try
        Execute;
    except
        on E:Exception do
            raise Exception.Create('
ERROR 1:' + sLineBreak + E.Message);
    end;

    SQL.Clear;
    SQL.Add('
CREATE GENERATOR gen_tab1_EMP_NO;');
    try
        Execute;
    except
        on E:Exception do
            raise Exception.Create('
ERROR 2:' + sLineBreak + E.Message);
    end;

    SQL.Clear;
    SQL.Add('
SET GENERATOR gen_tab1_EMP_NO TO 0;');
    try
        Execute;
    except
        on E:Exception do
            raise Exception.Create('
ERROR 3:' + sLineBreak + E.Message);
    end;

    SQL.Clear;
    SQL.Add('
CREATE TRIGGER SET_EMP_NO FOR tab1 ACTIVE BEFORE INSERT POSITION 0 AS');
    SQL.Add('
BEGIN');
    SQL.Add('
    if (new.emp_no is null) then');
    SQL.Add('
        new.emp_no = gen_id(gen_tab1_EMP_NO, 1);');
    SQL.Add('
END'
    try
        Execute;
    except
        on E:Exception do
            raise Exception.Create('
ERROR 4:' + sLineBreak + E.Message);
    end;
end;