0

実行するパッケージとパッケージ本体を作成しましたが、永続的なパッケージ変数に保持されている値をテストする方法がわかりません。

これがパッケージコードです。パッケージ本体にある削除手順と作成関数だけのかなり単純なものです。

CREATE OR REPLACE PACKAGE customers AS
FUNCTION create_customer (Country VARCHAR2, First_Name VARCHAR2, Last_name VARCHAR2,
                    Birth_date VARCHAR2, Customer_Type VARCHAR2, Address VARCHAR2)
RETURN VARCHAR2;
PROCEDURE remove_customer (customer_id VARCHAR2);
FUNCTION count_customer RETURN NUMBER;
END customers;

そして今、これがパッケージ本体です

create or replace package body customers AS
total_customers NUMBER;
FUNCTION CREATE_CUSTOMER(        
       Country IN VARCHAR2 ,First_Name IN VARCHAR2 ,Last_Name IN VARCHAR2 ,Birth_Date IN VARCHAR2 ,Customer_Type IN VARCHAR2 ,Address IN VARCHAR2
) return VARCHAR2 IS
  new_customer_id VARCHAR2(8);
BEGIN
SELECT custid_seq.NEXTVAL
INTO new_customer_id
FROM DUAL;
INSERT INTO customer (Customer_id, Country, First_Name, Last_name, Birth_date, Customer_Type, Address)
VALUES (new_customer_id, Country, First_Name, Last_name, Birth_date, Customer_Type, Address);
total_customers := total_customers + 1;
RETURN (new_customer_id);
end;
PROCEDURE remove_customer (customer_id VARCHAR2) IS
BEGIN
DELETE FROM customer
WHERE customer.customer_id = remove_customer.customer_id;
total_customers := total_customers - 1;
END;
BEGIN
select count(*) into total_customers from customer;
END;

total_customers は私の永続的なパッケージ変数であり、このパッケージに対してのみローカルであり、現在変数に保持されている値をテストする方法を知りたいだけです。

助けてくれてありがとう

4

2 に答える 2

0

変数をパッケージ仕様に入れ、テストします。その後、ボディに戻すか、スペックのままにします。複雑にしないでおく...

于 2013-04-29T12:35:24.413 に答える