【发布时间】:2017-12-10 20:46:01
【问题描述】:
我正在选择一个数值并将其存储到一个变量中,但是当我在插入语句中使用它时,我收到了这个错误:
ORA-00984:此处不允许列。
这是我的 SQL:
DECLARE
RyanuserID NUMBER(10);
BEGIN
SELECT Publisher_ID
INTO RyanuserID
FROM tblPublishers
WHERE Publisher_Name ='Ryan'
AND ROWNUM = 1;
END;
/
INSERT INTO tblBooks (Barcode, Book_Title, Publisher_ID, Year_Published, Stock)
VALUES ('45879654236547', 'Lean HTML and CSS', RyanuserID, '2010', 4);
有什么建议吗?非常感谢
【问题讨论】:
-
您应该担心
rownum = 1。如果这是必要的,因为publisher_name不是唯一的,那么publisher_id本质上是随机的,这对于看起来应该是外键的东西来说很奇怪。 -
发布者名称是唯一的,我只是将其放入以防万一,但如果不需要,我想我应该将其删除。谢谢你的指点