0

「従業員登録」フォーム (Windows アプリケーション) があります。従業員登録が完了したら、同時にユーザーを作成したい。「Employee Registration」から「EmpCode」の値を取得し、「UserName」の値にします。そのためのトリガーを書くのを手伝ってください。

従業員登録表の列は

EMPCODE, 
EMPNAME, 
DESIGNATION, 
DEPARTMENT, 
DOJ,  
EMAILID, 
CATEGORY, 
EMPSTATUS, 
EMPMANAGER etc etc

UserCreation テーブルの列は

USERNAME, 
USERPASSWORD, 
USERMAPPINGCODE, 
USERTYPE, 
USERACTIVE, 
USEREMAIL

「employee regstratn」の挿入が発生すると、同時に「UserCreation」テーブルで次のことが起こります....

EMPCODEの値は の値として保存する必要がありUSERNAMEます。 EMPNAMEの値は の値として保存する必要がありUSERPASSWORDます。 USERMAPPINGCODEの値 オプション CATEGORYの の値は の値として保存する必要がありUSERTYPEます。 USERACTIVEの値は 1 です の値は EMAILIDの値として保存する必要がありUSEREMAILます

助けてください....

4

2 に答える 2

2

どうぞ:

CREATE TRIGGER EmployeeTrigger
ON dbo.Employees
FOR INSERT
AS
BEGIN
    DECLARE @empCode BIGINT
    SET @empCode = (SELECT EMPCODE FROM INSERTED)
    DECLARE @empName VARCHAR(50)
    SET @empName = (SELECT EMPNAME FROM INSERTED)
    DECLARE @empCat VARCHAR(50)
    SET @empCat = (SELECT CATEGORY FROM INSERTED)
    DECLARE @empEMail VARCHAR(50)
    SET @empEMail = (SELECT EMAILID FROM INSERTED)
    INSERT INTO dbo.Users (USERNAME, USERPASSWORD, USERMAPPINGCODE, USERTYPE, USERACTIVE, USEREMAIL)
    VALUES  (@empCode, @empName, NULL, @empCat, 1, @empEMail)
END

そのままでは実行されない可能性があります。どちらかがタイプミスした場合に備えて、いくつかの変数名を調整する必要があるかもしれません。これは、新しく挿入された値を含む INSERTED 論理テーブルを使用しています。

于 2012-10-29T05:06:26.517 に答える
1
CREATE TRIGGER EmployeeTrigger
ON dbo.Employees
FOR INSERT
AS
BEGIN
  INSERT dbo.Users (USERNAME, USERPASSWORD, USERMAPPINGCODE, USERTYPE, USERACTIVE, USEREMAIL)
  SELECT EMPCODE, EMPNAME, NULL, CATEGORY, 1, EMAILID
  FROM inserted
END  
于 2012-10-29T07:36:01.960 に答える