【发布时间】:2019-08-10 13:30:24
【问题描述】:
SELECT
SALE.SaleID,
SALE.SaleDate,
CUSTOMER.CustomerID,
FIRSTNAMEFIRST(Customer.FirstName, Customer.LastName),
SALE_ITEM.SaleItemID,
SALE_ITEM.ItemID,
ITEM.ItemDescription,
ITEM.ItemPrice
FROM CUSTOMER
INNER JOIN SALE ON CUSTOMER.CustomerID = SALE.CustomerID
INNER JOIN SALE_ITEM ON SALE.SaleID = SALE_ITEM.SaleID
INNER JOIN ITEM ON SALE_ITEM.ITEMID = ITEM.ItemID
即使我测试视图,它也会显示正确的查询结果,但我无法找出错误 ORA-00907。
函数定义
CREATE OR REPLACE FUNCTION FIRSTNAMEFIRST
( FIRSTNAME IN VARCHAR2, LASTNAME IN VARCHAR2 ) RETURN VARCHAR2
AS
BEGIN
RETURN TRIM(FIRSTNAME) || ', ' || TRIM(LASTNAME);
END;
【问题讨论】:
-
函数 FirstNameFirst 是什么样的?在其他地方调用它是否有效?
-
这是函数,我可以在别处调用它 CREATE OR REPLACE FUNCTION FIRSTNAMEFIRST ( FIRSTNAME IN VARCHAR2, LASTNAME IN VARCHAR2 ) RETURN VARCHAR2 AS BEGIN RETURN TRIM(FIRSTNAME) || ', ' ||修剪(姓氏);结束;
-
我在您粘贴的代码中看不到任何其他括号。运行查询时是否收到该错误?您可以分别从每个表中选择数据吗?
-
仍然缺少一件事。 . . “即使我测试了视图。”视图在哪里?
-
我们需要查看完整的
CREATE OR REPLACE VIEW声明。谢谢。