Oracle VBA中的现有对象已使用的名称
在VBA中,我试图使用OraDynaSet对象创建一个临时表,并在将其用于另一个select之前获取一些数据Oracle VBA中的现有对象已使用的名称,oracle,vba,excel,oracle10g,Oracle,Vba,Excel,Oracle10g,在VBA中,我试图使用OraDynaSet对象创建一个临时表,并在将其用于另一个select之前获取一些数据 strSQL = "create table user1.new12 as(" _ & "Select lca.coupon_upc,lca.division from lca where lca.campaign_id = " & campaign_id & "" _ & "MINUS " _ & " Select mc
strSQL = "create table user1.new12 as(" _
& "Select lca.coupon_upc,lca.division from lca where lca.campaign_id = " & campaign_id & "" _
& "MINUS " _
& " Select mcr.coupon_upc,mcr.division from mcr where mcr.campaign_id = " & campaign_id & ")"
Set OraDynaSet = objdatabase.DBCreateDynaset(strSQL, o&)
我已经打开了与用户user1的连接,以便在执行此DDL之前执行许多select查询。现在,当我执行VBA代码时,它抛出一个错误“ORA:009955名称被现有对象使用”。我哪里做错了 该表已存在。您不是在创建临时表,而是在创建标准表:脚本结束后,它将保留在数据库中。如果已运行此脚本,但尚未删除该表,则以下执行将失败
在Oracle中,是包含临时数据的持久对象。在大多数情况下,如果您需要定期使用临时表(因为它是一个循环过程的一部分),则只需创建一次表。如果您仅将该临时表用于一个后续查询,则仅使用“内联视图”可能更容易:
Tim这不是一张临时桌子。我只是说我在VBA代码中将它用作临时表。@suman:通过SQL*Plus与用户
user1
连接到db,并查找对象new12
:SELECT*FROM user\u objects,其中object\u name='new12'
select t.coupon_upc, t.division from
(select lca.coupon_upc,lca.division from lca where lca.campaign_id = campaign_id
MINUS
select mcr.coupon_upc,mcr.division from mcr where mcr.campaign_id = campaign_id) t
where {clauses here...}