我想写一个带有发票号的程序,然后输出购买该特定产品的客户的详细信息。
我有一个程序,使用身份证号码作为参数显示客户的详细信息,并且工作正常!
我不知道如何使用发票编号来确定客户程序的ID值。
使用Oracle,sql plus
{{1}}
{{1}}
提前致谢!
已经知道当我在我想要呼叫的程序中放置一个ID号时,例如custdets(4),它会打印出具有该号码ID的客户。这与他们是否进行购买无关。
答案 0 :(得分:0)
Invoice number
应该是主要关键,我不知道,可能会有一张名为INVOICES的表格?它是您的架构,您比我们更了解它。无论如何,该表应该有一个名为C_ID
或者customer_id
的列,它是要开发票的客户的ID;该列是CUSTOMERS表的外键。
因此,您的新程序必须将发票ID作为参数。使用该值查找INVOICES记录。这将为您提供C_ID以传递到现有的custdets()
过程并显示客户详细信息。
"他们都在同一张表中我如何将它传递给custdets()"
这样的事情:
CREATE OR REPLACE PROCEDURE SalePurchase(
in_invoice IN sales_purchases.sp_invoice%TYPE)
IS
l_customer_id sales_purchases.c_id%type;
BEGIN
select c_id into l_customer_id
from sales_purchases
where sp_invoice = in_invoice;
custdets(l_customer_id);
END;