テーブル(従業員)にトリガーを実装する必要があります。トリガーは、単純な従業員が自分の部門のマネージャーよりも高い給与を得たときにトリガーする必要があります。 そして私はこれをしました。SQL TRIGGERSデータベース
CREATE TRIGGER sal on EMPLOYEE
AFTER INSERT,UPDATE
as
declare @sal int;
declare @sal_mgr int;
declare @sal_manager TABLE(sal int)
SELECT @sal = salary FROM EMPLOYEE
SELECT @sal_mgr = salary FROM EMPLOYEE join Department on ssn = mgr_ssn where dno=dnumber
INSERT INTO @sal_manager values (@sal_mgr)
UPDATE EMPLOYEE SET salary = @sal_mgr-1 where salary >= @sal_mgr
しかし、これで私は1人のマネージャーの給料ではなく、私はさまざまな部門を持っているすべてを取得(そのだけで各部門の1つのマネージャを許さ)
1人の従業員は1人のマネージャしか持っていませんか?どの他のマネージャーの給与が重要なのでしょうか? – oerkelens
各従業員には1人のマネージャーしかいませんが、マネージャーには多くの従業員がいます。このコードは常に同じマネージャーの給与を得ており、各従業員を給与と比較しています。彼らの部局のマネージャーではありません –
私は上記がまったく実行されているのに驚いています!複数のステートメントがありますが、begin-end構造はありません。 – Shadow