【发布时间】:2010-06-30 17:31:23
【问题描述】:
全部,
我有以下包装说明:
CREATE OR REPLACE PACKAGE ashish.PKG_Customer AUTHID CURRENT_USER AS
TYPE cursorType IS REF CURSOR;
PROCEDURE CreateCustomerTable;
PROCEDURE SelectCustomers(o_ResultSet OUT cursorType);
END PKG_Customer;
这是包体:
CREATE OR REPLACE PACKAGE BODY ashish.PKG_Customer AS
PROCEDURE CreateCustomerTable AS
sQuery VARCHAR2(1000);
BEGIN
sQuery := 'CREATE TABLE tblCustomer2(
CustomerID INTEGER PRIMARY KEY,
FirstName VARCHAR2(50),
LastName VARCHAR2(50),
City VARCHAR2(200),
State_Province VARCHAR2(100),
PostalCode VARCHAR2(25)
)';
EXECUTE IMMEDIATE sQuery;
END CreateCustomerTable;
PROCEDURE SelectCustomers(o_ResultSet OUT cursorType) AS
BEGIN
OPEN o_ResultSet FOR
SELECT CustomerID,
FirstName,
LastName,
City,
State_Province,
PostalCode
FROM tblCustomer;
END SelectCustomers;
END PKG_Customer;
我面临的问题是我的包无法编译,因为该表当前不存在。当然,我应该能够提前为 Oracle 中当前不存在的表创建存储过程,对吧?我在这里做错了吗?
服务器版本是 Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit。
谢谢!
-阿什
【问题讨论】:
-
过去,当我发布一个问题,人们认为出于某种原因需要编辑该问题时,有人问我相反的问题:为什么不是这个社区 wiki?所以从那以后,我只检查社区维基上的所有问题。我很想知道什么时候应该或不应该成为社区 wiki 的问题。
-
据我了解,wiki 是解决没有“灵丹妙药”答案的问题的好地方(编程风格、最佳实践、个人偏好、您编写的第一个程序等可以讨论的主题断断续续 - 永远不会得出可以真正成为问题“可接受”解决方案的结论)。
-
谢谢@eyescream。我会更加小心地区分何时应该和不应该选中社区 wiki 选项。
标签: sql oracle stored-procedures oracle10g