【发布时间】:2014-12-10 01:37:58
【问题描述】:
这是家庭作业的一部分 - 只是为了让你们知道。我创建了一堆表格并用值填充它们,并且在结束论文时,除了给出我的源代码之外,我还必须回答一些问题。 问题是:
如下更新 BOOK_COPY 表。使用 3 个单独的更新命令将 date_due 设置为 date_out + [90 for FACULTY,30 for STUDENT,40 FOR GUEST] 的总和 显示更新命令。更新后,显示 BOOK_COPY 的以下属性:bookid、copy_num、date_out、date_due 仅用于已签出的图书副本。按 bookid、copy_num 订购您的房源。
到目前为止,我已经尝试了很多不同的解决方案,因为我无法让它发挥作用。我很确定我将不得不使用嵌套子查询,但是我的语法中有一些错误。我也尝试过加入,但结果更糟,哈哈。使用子查询,我可以让它更新 BOOK_COPY 表,但它会更新其他行,而不仅仅是教职员工的行。如果我弄清楚如何更改教职员工的到期日期,那么其他两种类型当然不会有问题。
这是我迄今为止最好的两个赌注:
update BOOK_COPY
set DATE_DUE = DATE_OUT + 90
where OUT_TO_CID
(select CID from CUSTOMER
where CATEGORY = 'Faculty');
or
update BOOK_COPY
set DATE_DUE = DATE_OUT + 90
where BOOK_COPY.OUT_TO_CID = CUSTOMER.CID and CUSTOMER.CATEGORY =
'Faculty';
Book_copy 表:
create table BOOK_COPY
(Copy_Num number(5),
Bookid number(5),
out_to_CID number(6),
Date_Out date,
Date_Due date,
Held_Until date,
held_for_CID number(6),
CONSTRAINT PKCOPY PRIMARY KEY (Copy_Num,Bookid),
CONSTRAINT FKCID FOREIGN KEY (out_to_CID) references CUSTOMER (CID),
CONSTRAINT FKHeld FOREIGN KEY (held_for_CID) references CUSTOMER (CID),
CONSTRAINT FKBookid FOREIGN KEY (Bookid) references BOOK (Bookid));
客户表:
create table CUSTOMER
(CID number(6),
First_Name varchar2(12),
Last_Name varchar2(12),
Category varchar2(7),
Balance_Due number(4,2),
SponsorID number(6),
CONSTRAINT pkCID PRIMARY KEY (CID),
CONSTRAINT fkCUSTOMER foreign key (sponsorID) references customer);
请让我知道我的帖子是否违反规则。感谢您阅读到最后 ;-)
【问题讨论】:
-
"something in my syntax is wrong" 不是问题描述。你得到什么具体的错误? (另外,请注意:嵌套子查询不是您所需要的。您需要查看 CASE 语句。)此外,您应该edit 您的问题以使标题与您遇到的问题更相关。 Oracle 和 SQLPlus 在您的标签中明确,因此问题标题中的有意义内容绝对为零。您的主题应该具体说明您提出的问题或您遇到的问题,并且在将来有人在搜索结果中找到时应该有意义。
-
感谢您提供有关如何提高对我的帖子的理解的提示,Ken。我已经收到了我需要的帮助,但我会按照您的要求更正标题。