Link to home
Start Free TrialLog in
Avatar of Mark_Co
Mark_CoFlag for United States of America

asked on

Learning how to use Virtual Box Oracle SQL Developer... Trying to create package

I'm trying learn how to use VB and I'm having trouble creating a package on Oracle SQL Developer in Virtual Box.

I go to file -> new -> Package...

then I don't see two separate files (one for spec and one for body) so I tried to insert both spec and body into one file but I keep getting an error, no matter how I try to insert my code for a working package.

I normally use PL/SQL Developer so I know my package already works on there but I can't get it to compile in VB.

I try to compile and because I have both spec and body in one file it is complaining about my "CREATE" that is coming from the body i.e. CREATE OR REPLACE PACKAGE BODY DROP_CREATE_TABLES_NIGHTLY IS
Any suggestions?
SOLUTION
Avatar of johnsone
johnsone
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of Mark_Co

ASKER

This is what I have

CREATE OR REPLACE PACKAGE DROP_CREATE_TABLES_NIGHTLY IS

              /*
               Original Author: Me
               Created Date: 3-Jan-2013
               Purpose: For storing procedures to drop, create, and archive new tables /
               To drop initial tables and recreate them nightly
              */

              PROCEDURE W(STR VARCHAR2); --WRAPPER FOR DBMS_OUTPUT
              PROCEDURE DROP_TABLES
              (
                            P_SCHEMA VARCHAR2
                           ,P_TABLENAME VARCHAR2
              ); --DROPS PRE-EXISTING TABLES
              PROCEDURE CREATE_NEW_ARCHIVED_TABLES; --RECREATES TABLES THEMSELVES
              PROCEDURE BUILD_ARCHIVED_TABLES; --POPULATE FRESH DATA INTO TABLES

END DROP_CREATE_TABLES_NIGHTLY;
/

CREATE OR REPLACE PACKAGE BODY DROP_CREATE_TABLES_NIGHTLY IS

              -------------------------------------------------------------------------------------------------------------------------------------------------------------------
              -------------------------------------------------------------------------------------------------------------------------------------------------------------------

              /* procedure 'W' is a wrapper for DBMS output. Placed at top of package to make globally available*/
              PROCEDURE W(STR VARCHAR2) IS
              
              BEGIN
              
                            /* setting variable to simpler to use STR variable for outputting */
                            DBMS_OUTPUT.PUT_LINE(STR);
              END;

              -------------------------------------------------------------------------------------------------------------------------------------------------------------------
              -------------------------------------------------------------------------------------------------------------------------------------------------------------------

              /* 
               Procedure purpose: For dropping previously archived tables so that new ones can be created 
               Ask yourself "what does a typical DROP TABLE SQL look like...
               I.E. 'DROP TABLE ME.CUSTOMERS' 
               therefore pass in the schema.tablename and voila, there is the procedure you want.
              */
              PROCEDURE DROP_TABLES

Open in new window

etc...
And what is the error?
Avatar of Mark_Co

ASKER

Error(20,1): PLS-00103: Encountered the symbol "/"
Avatar of Mark_Co

ASKER

So I remove the "/" and the next error is Error(22,1): PLS-00103: Encountered the symbol "CREATE"
That is not a tool that I am familiar with, but based on the errors that you are getting, it would seem that you cannot combine the package header and body into one script with that tool.
Avatar of Mark_Co

ASKER

I figured. Hmmm, I'll keep trying and seeing how I can get them into separate files but still connected to each other. At work, PL/SQL Developer auto creates a spec and a body file. I don't know how to do so in Virtual box Oracle SQL Developer
Avatar of Sean Stuber
Sean Stuber

virtual box shouldn't be relevant.   in what way is it impacting you?

I use virtual box for several different types of servers and once logged in, the virtual nature of my system is invisible to my applications.
Avatar of Mark_Co

ASKER

I want to use it for home practice. But it's pretty useless if I can't figure out how to create packages and procedures on it
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
ASKER CERTIFIED SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of Mark_Co

ASKER

I guess it's just virtualbox that has issues. Thanks for trying
how does virtual box figure into this?  I'm willing to try to help but you need to tell me what you're doing.  What are the errors? What happens? What is leading you to think virtualbox is having a problem?  What are you doing differently than what I have above?
why the B?

a penalty grade is not appropriate here