在问一个问题,一会开帖送分 还是100分
Q2
CalculateAdvertCost: 用FUNCTION 去计算 ADVERTISEMENT 费用。
计算ADVERT 费用是用actual cost 算的TABLE 如下CREATE TABLE Campaign (
title VARCHAR2 ( 30 ) NOT NULL,
startDate DATE NOT NULL,
finishDate DATE,
estimatedCost NUMBER ( 10 ) NOT NULL,
actualCost NUMBER ( 10 ) NOT NULL,
clientName VARCHAR2 ( 15 ) NOT NULL,
ManagerNo VARCHAR2 ( 10 ) NOT NULL,
CONSTRAINT PK_Campaign2 PRIMARY KEY (title)
)
CREATE TABLE Advert (
campaignTitle VARCHAR2 ( 30 ) NOT NULL,
adTitle VARCHAR2 ( 30 ) NOT NULL,
type VARCHAR2 ( 30 ) NOT NULL,
completeDate DATE NOT NULL,
estimatedCost FLOAT ( 126 ) NOT NULL,
actualCost FLOAT ( 126 ) NOT NULL,
CONSTRAINT PK_Advert9 PRIMARY KEY (campaignTitle, adTitle)
)

解决方案 »

  1.   

    往 staff table 插入新的一行,假如已经雇佣这个staff,代替插入的 新的 record
    输出
    applicant <XXX> is an existing employee--这第一句我就没看懂.
      

  2.   

    create or replace procedure p_demo(v_staffno in varchar2,v_return out varchar2) as
    v_str varchar2(30);
    v_num number;
    begin
    select count(*) into v_num from staff where staffno=v_staffno;
    if v_num>0 then
      v_return:='applicant <'||v_staffno||'> is an existing employee';
    else
      v_return:='New Employee <'||v_staffno||'> starting on <'to_char(sysdate,'dd-mon-yy')||'>';
    end if;
    end p_demo;
    /