SQL can be "scripted" in the purest sense of the word by simply dumping all your SQL statements into a flat file, naming it something.sql and then running it. There is no logic, just SQL as you'd enter it in SQL*Plus. Comments can be added by prefixing them with "-".
You can execute your SQL in one of two ways, via the SQL*Plus command line, by proceeding the filename with an and leaving off the implied .sql extension, or via SQL*Plus's non-interactive mode, ala: sqlplus user/passwd script, leaving off the .sql just as with the interactive form.
Here's an example:
oracle@nexus6 PLSQL$ cat sample1.sql -- Sample of a simple sql script -- Non-PL/SQL CREATE TABLE test ( i int, s char(10) ); INSERT INTO test VALUES(1, 'foobar'); INSERT INTO test VALUES(2, 'fooba'); INSERT INTO test VALUES(3, 'foob'); INSERT INTO test VALUES(4, 'foo'); INSERT INTO test VALUES(5, 'foobar'); INSERT INTO test VALUES(6, 'fobar'); INSERT INTO test VALUES(7, 'fbar'); INSERT INTO test VALUES(8, 'bar'); oracle@nexus6 PLSQL$ sqlplus ben/passwd (....) SQL> @sample1 Table created. 1 row created. 1 row created. 1 row created. 1 row created. 1 row created. 1 row created. 1 row created. 1 row created. SQL> select * from test where i = 1; I S ---------- ---------- 1 foobar SQL> drop table test; Table dropped.