2张表:
图书借阅当前记录: 学号,书号,借阅日期,管理员职工号
图书借阅历史记录:学号,书号,借阅日期,还书日期,管理员职工号题:还书时从当前记录中删除相应借书记录的同时还要将其插入历史记录中create or replace triggertr charubefore delete on 图书借阅当前记录  for each rowBegin  insert into 图书借阅历史记录 values('学号','书号','借阅日期',SYSDATE,'管理员职工号')where 学号='学号';End请问插入历史记录是可以直接这么写么?
那个条件语句where对么?

解决方案 »

  1.   

    insert into 图书借阅历史记录 values(:0LD.学号,:OLD.书号,:OLD.借阅日期,SYSDATE,OLD.管理员职工号) 
      

  2.   

    要是写  图书借阅当前记录.学号 行么
    底下那个WHERE里的学好 也要加么
      

  3.   

    NOinsert into 图书借阅历史记录 values(:0LD.学号,:OLD.书号,:OLD.借阅日期,SYSDATE,:OLD.管理员职工号) 
    where 学号=:OLD.学号;
      

  4.   

    看下这个 
    设计一个完成图书借阅事务的存储过程,该存储过程除向图书借阅当前记录表中插入一个图书借阅记录外,还将图书表中相应图书记录的是否借出列修改为是。输入参数:学号、书号,管理员职工号。图书:书号,书名,作者,出版社,单价,购买日期,存放书库号,借出否,摘要
    create or replace procedure jieshu
    (学号 in varchar,书号 In varchar,管理员职工号 in varchar)
    as begin
      insert into 图书借阅当前记录 values(学号,书号,借阅日期,SYSDATE,管理员职工号) 
      update 图书 set 借出否='yes';
    end;这个对么
      

  5.   

      update 图书 set 借出否='yes';  少条件了
      

  6.   

    加个where 书号=‘:old.书号’;
    这会对了么
      

  7.   

    procedure 不能使用:old,:new.
    try:procedure的变量名改成不要和表名一样的:
    比如书名的变量是var_book
    update 图书 set 借出否='yes' where 书号=var_book
      

  8.   

    create or replace procedure jieshu 
    (学号 in varchar,书号 In varchar,管理员职工号 in varchar) 
    as 
    bno varchar(6);
    begin 
      bno:='书号';
      insert into 图书借阅当前记录 values(学号,书号,借阅日期,SYSDATE,管理员职工号) 
      update 图书 set 借出否='yes' where 书号='bno'; 
    end; 这个对了么
      

  9.   

    create or replace procedure jieshu
    (var_学号 in varchar,var_书号 In varchar,var_管理员职工号 in varchar)
    as
    bno varchar(6);
    begin
      insert into 图书借阅当前记录 values(var_学号,var_书号,var_借阅日期,SYSDATE,var_管理员职工号)
      update 图书 set 借出否='yes' where 书号=var_书号; 
    再问一遍,为什么喜欢把表字段弄成汉字而不是英文??
      

  10.   

    因为表太多了 英文我怕记不住啊代表同一个意思的表字段 在不同的表里 要用不同的名字么你回的那个里bno 没用上
      

  11.   

    我把那个bno那么赋值 可以吗?
      

  12.   

    不可以,是错的。。建议你先学点pl/sql开发
      

  13.   

    create or replace procedure jieshu
    (var_学号 in varchar,var_书号 In varchar,var_管理员职工号 in varchar)
    as
    bno varchar(6);
    begin
      insert into 图书借阅当前记录 values(var_学号,var_书号,var_借阅日期,SYSDATE,var_管理员职工号)
      update 图书 set 借出否='yes' where 书号=var_书号;
      

  14.   

    我晕,怎么会有你这么愚的设计思想? 为什么要在table 中delete相应的借书记录?
      

  15.   

    又看了一遍 貌似就应该输入3歌参数 因为那个借阅时间 和归还时间都是用SYSDATE算的
      

  16.   

    麻烦看下这个
    设计一个存储过程,给出被借次数前10名的图书名及借阅次数。输入统计的起止时间以及n值(top 10 )。
    这个怎么做呢