Question

I was trying to follow some instructions today, and it starts with the comment


REM  In SQLPlus I manually copy in each line and execute it.

That's nice, I don't have SQLPlus, I have SQLDeveloper. The lines that were pasted in were of the type:


@\\server\dir\dir\dir\commandfile1.txt;
COMMIT;

...etc.

It didn't like it when I tried that in a SQL window. I opened up and pasted in the commands by hand, and it wasn't happy with that either. (Did I mention that I'm not so good with this application nor Oracle, but that everyone else was out today?) The files there started with code like:


rem
set echo on
rem
execute procedure_name ('parameter1', 'parameter2');

A co-worker did have SQLPlus, and together we got it resolved. But, is there a way for me to do this with SQLDeveloper, so I'm not stuck if he's out too?

Was it helpful?

Solution

To run scripts in SQL Developer:

@"\Path\Scriptname.sql"

(You only need the quotes if there are any spaces)

You can set a default Path: Tools menu > Preferences > Database > Worksheet > Select default path to look for scripts

OTHER TIPS

I was looking through the help files and found how to do it in SQL Developer Concepts and Usage->Using the SQL Worksheet->Script Runner.

Basically, you have to precede the file name with an @. For example @C:\MyScript\Script.sql.

You can then run a batch of them this way. Note that the command doesn't seem to like spaces in the file path.

For each file you need to run, find it and drop it into SQLDeveloper. Run the script (F5) and then commit (F11). This will work for some scripts, but not all.

SQL Developer these days comes with another tool called sqlcl. This is a bit like SQLPlus but is actually using some bits from SQL Developer to give a compatible command line/scripting type interface.

You would be able to use it to execute sqlplus style commands without fighting the extras of the SQL Developer style GUI which can get confusing.

Look for it under wherever SQL Developer is sitting. If you don't have it there, you can download it and deploy it into your sqldeveloper folder.

you can do it using sqlcl in the same way how you would do it using SQL PLUS, from command line:

sqlcl user/password@host:port:sid @file.sql

file should be in the same directory where sqlcl is.

This solution is the best option if you are trying to execute a lot of instruction on sql file.

This would do it:

begin
    procedure_name ('parameter1', 'parameter2');
end;
/
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top