DDL and DML separators in sql file

Hi,
I have sql files with database changes in them. DDL:s and DML:s mixed. Unfortunately I cannot run them without doing some 'cleaning up' witch is very time consuming.
I would like to write a VB (or similar) program that replaces the ';' with '/' at the end of a statement and puts in '/' after packages e.t.c so I can run the file in one go.
The problem is to know where a trigger, package, insert, modify and what not, ENDS. What code belongs to object x and y so I know where to put in the '/'.
Is there a way to find out what is a DDL or DML and where they start and ends?
Cheers,
Magnus

You can remove GO or batch separator if you don't have:
1. same variables declared in more than 1 batch
2. CREATE/ALTER VIEW/PROCEDURE statements, they should be first statement in the batch otherwise will fail. (otherwise it will give you following error: CREATE/ALTER VIEW/PROCEDURE' must be the first statement in a query batch.)
3. there could be more things, just check based upon my above 2 points.
~manoj | email: http://scr.im/m22g
http://sqlwithmanoj.wordpress.com
MCCA 2011 | My FB Page

Similar Messages

  • How to Track DDL and DML Operations happening in Backend into Log Files....

    Hi I have one requirement for Tracking the DDL And DML Operation happening in Backend once the user Inserts or Updates any Table.How to Implement the same can anyone proviode the code for the same.
    Ex: I have multiple tables in my database if any user fires the DDL or DML it should make entry in the Log file as
    Name of the Table Operation Timestamp
    X Insert DD-MM-YYYY HH24:MM:SS
    Y Update DD-MM-YYYY HH24:MM:SS
    Z Delete DD-MM-YYYY HH24:MM:SS
    L Select DD-MM-YYYY HH24:MM:SS
    Is it Possible to Develop it through Procedure,Function or Package,please give me Idea,,,,,

    Please do not post same question in multiple forum. How to Track DDL and DML Operations happening in Backend into Log Files....
    What's wrong with the answers posted in the above forum ? Do you go through the "AUDIT" option as suggested in the above post by various members ?

  • DDL and DML tool for unicode

    Which tool is able to maninupalate UTF-8 encoded data saved in Oracle database?
    (execute DDL and DML commands with non latin text)

    Hi,
    You can easily create your own scripts for creation (and even deletion/drop) of tables and inserts made to those tables. You just need to put the statements in a notepad and save it with a .sql extension. Then run this file from a SQL prompt with @ sign. For example
    SQL >@"c:myscript.sql" .
    Hope this helps
    Regards
    Aditi

  • HR Schema DDL and DML Statements

    Dear all,
    I want all tables and datas for practicing purpose.(HR Schema)
    In Oracle site where can I get these DDL and DML Statements.
    Can Any one post all statements..
    Thanks in advance.

    Unlocking the Sample Tables
    The Human Resources (HR) Sample Schema is installed as part of the default Oracle Database installation. The HR account is locked by default.
    You need to unlock the HR account before you can use the HR sample schema. To unlock the HR account, log in as the SYSTEM user and enter the following command, where your_password is the password you want to define for the user HR:
    ALTER USER HR IDENTIFIED BY your_password ACCOUNT UNLOCK;
    For further information about unlocking the HR account, see the Oracle Database Sample Schemas guide. The HR user is primarily to enable you to access the HR sample schema and is necessary to enable you to run the examples in this guide.
    Each table in the database is "owned" by a particular user. You may wish to have your own copies of the sample tables to use as you try the examples in this guide. To get your own copies of the HR tables, see your DBA or see the Oracle Database Sample Schemas guide, or you can create the HR tables with the script HR_MAIN.SQL which is located in the following directory on UNIX:
    $ORACLE_HOME/DEMO/SCHEMA/HUMAN_RESOURCES/HR_MAIN.SQL
    And on the following directory on Windows:
    %ORACLE_HOME%\DEMO\SCHEMA\HUMAN_RESOURCES\HR_MAIN.SQL
    To create the HR tables from command-line SQL*Plus, do the following:
    1.
    Ask your DBA for your Oracle Database account username and password.
    2.
    Login to SQL*Plus.
    3.
    On UNIX, enter the following command at the SQL*Plus prompt:
    SQL> @?/DEMO/SCHEMA/HUMAN_RESOURCES/HR_MAIN.SQL
    On Windows, enter the following command at the SQL*Plus prompt:
    SQL> @?\DEMO\SCHEMA\HUMAN_RESOURCES\HR_MAIN.SQL
    To remove the sample tables, perform the same steps but substitute HR_DROP.SQL for HR_MAIN.SQL.
    Regards
    Asif Kabir

  • Auditing DDL and DML statements of selective IP addresses....

    Hi all,
    DB : 11.2.0.2 64 bit
    OS : RHEL 5.7 64bit
    Hi all,
    I want to audit all DDL and DML statements for some selective IP Addresses or hostnames.
    I read about Fine Grained Audit. I got the following code to enable auditing of nondatabase user's actions(Application users).
    created policy for client identifier.......
    BEGIN
    DBMS_FGA.ADD_POLICY(OBJECT_SCHEMA => 'OE',
    OBJECT_NAME => 'ORDERS',
    POLICY_NAME => 'ORDERS_FGA_POL',
    AUDIT_CONDITION => 'SYS_CONTEXT(''USERENV'', ''CLIENT_IDENTIFIER'') = ''Robert''',
    HANDLER_SCHEMA => NULL,
    HANDLER_MODULE => NULL,
    ENABLE => True,
    STATEMENT_TYPES => 'INSERT,UPDATE,DELETE,SELECT',
    AUDIT_TRAIL => DBMS_FGA.DB + DBMS_FGA.EXTENDED,
    AUDIT_COLUMN_OPTS => DBMS_FGA.ANY_COLUMNS);
    END;
    But I want to audit all DDL and DML statements for a particular schema say ABC from selective IP addresses or hostnames so how can I do this?
    Pl suggest.....
    Regards,
    Andy.

    Hi,
    You could :
    1. create a function, say myfunction, returning 1 if you want to audit, 0 otherwise
    This function would test sys_context('userenv','ip_address') within the desired IP address to be audited
    2. create your fga on the objects you want to audit adding the clause audit_condition=>'myfunction=1'
    Nicolas.

  • IP based restriction on DDL and DML statement

    Hi
    I am working oracle 10g daabase.I want to restrict a specific IP for all DML and DDL and the that particular IP should have only select only rights.Kindly let me know if its possible?
    Regards
    Vijay

    Dear friends,
    To be more clear on my requirement,i will explain you entire scenerio.
    Example
    There is person called John,and in a database BANK,there is are
    3 schemas called
    1) ABC (This schema has full privileges on its own schemas)
    2) DEF (This schema has full privileges on its own schemas)
    3) XEF (This schema has full privileges on its own schemas)
    The priveleges of ABC,DEF and XEF cannot be reduced as they are related to application functiaonality,and any
    change in the same will affect the application modules.Neither can we change the passwords for the above schemas,because this needs a bigger activity by incorporating the new password in all applications files.
    Mr John has login creditanals for all there schemas i.e ABC,DEF and XEF.And thus he has full privileges on this schemas.
    So we want John's IP with restriction of only select on this schemas.
    In this example Mr john is the application vendor,and we would give him access to single IP for just one day.
    Regards
    Vijay

  • DDL and DML

    hey
    the method executeQuery will return ResultSet then i can use this resultSet to show result but with this method i can't excute the ddl commands (del , insert,..etc)
    executeUpdate can do both , but will not return ResultSet that i use to show result...
    how can i see the results if i use resultUpdate ?
    do i need to creat 2 different methods one to select and one for ddl , or i can use one that will do both ?
    thx

    hey
    the method executeQuery will return ResultSet then i
    can use this resultSet to show result but with this
    method i can't excute the ddl commands (del ,
    insert,..etc)Right.
    >
    executeUpdate can do both , No, just INSERT/UPDATE/DELETE and DML statements.
    but will not return
    ResultSet that i use to show result...If a tree falls in the forest...If you can't get your ResultSet, the method can't do SELECTs.
    executeUpdate can't do both, but execute can. Read more of the javadocs.
    how can i see the results if i use resultUpdate ?
    do i need to creat 2 different methods one to select
    and one for ddl , or i can use one that will do both
    ?Here's how I've done it (just the method, not the entire class):
         * Execute ANY SQL statement
         * @param SQL statement to execute
         * @returns list of row values if a ResultSet is returned,
         * OR an altered row count object if not
         * @throws SQLException if the query fails
        public Object executeSQL(final String sql) throws SQLException
            Object returnValue;
            Statement statement = null;
            ResultSet rs = null;
            try
                statement = this.connection.createStatement();
                boolean hasResultSet    = statement.execute(sql);
                if (hasResultSet)
                    rs                      = statement.getResultSet();
                    ResultSetMetaData meta  = rs.getMetaData();
                    int numColumns          = meta.getColumnCount();
                    List rows               = new ArrayList();
                    while (rs.next())
                        Map thisRow = new LinkedHashMap();
                        for (int i = 1; i <= numColumns; ++i)
                            String columnName   = meta.getColumnName(i);
                            Object value        = rs.getObject(columnName);
                            thisRow.put(columnName, value);
                        rows.add(thisRow);
                    returnValue = rows;
            else
                int updateCount = statement.getUpdateCount();
                returnValue     = new Integer(updateCount);
            finally
                close(rs);
                close(statement);
            return returnValue;
        }%

  • To Capture the DDL and DML statement

    Hi,
    I have one requirement to capture all the statement (DDL & DML),which will perform on the table.
    How can i do implement the same?
    Please assit me .
    Thanks

    I have to capture exact SQL statement along with literal value and to store in a certain table.

  • DDl and DMl's

    Hi All,
    Is their any way to find the current transaction(dml or ddl) happening database with helps any view if answer yes please send me the query
    Thanks Much,
    Napi.

    Napi wrote:
    Hi All,
    Is their any way to find the current transaction(dml or ddl) happening database with helps any view if answer yes please send me the query
    Thanks Much,
    Napi.If you are interested in finding out all the details of these two, you should enable Auditing in your database.
    HTH
    Aman....

  • DDL and DML in Procedures

    Hi,
    I am new to Oracle and am having some difficulty jumping over from MSSQL. My question is how would one simply do the following:
    Drop a table if it exists, create it if it doesn't.
    Then fill the table with a set of data.
    (All from within a stored procedure)
    In MSSQL this is very easy and straight forward. I am having a heck of a time making it work in Oracle.
    I've tried Execute Immediate and it doesn't seem to work. To make the problem worse, I cannot even compile the stored procedure in Toad because the idividual inserts fail (table has not been created prior to compile).
    Thanks for any help.
    Rob

    Thanks much, but still have a problem.
    CREATE OR REPLACE procedure sp_Generate_Color
    as
    iCursor integer;
    iFlag integer;
    begin
    select count(*) into iFlag from all_tables where table_name = 'color';
    if iFlag > 0 then
         iCursor := dbms_sql.open_cursor;
         dbms_sql.parse(iCursor, 'drop table color',dbms_sql.v7);
         dbms_sql.close_cursor(iCursor);
    end if;
    iCursor := dbms_sql.open_cursor;
    dbms_sql.parse(iCursor, 'create table color (id number,name varchar2(50), family varchar2(10), hex varchar2(7), r number(3), g number(3), b number(3))',dbms_sql.v7);
    dbms_sql.close_cursor(iCursor);
    insert into color (id,name,family,hex,r,g,b) values (1,'ALICEBLUE','BLUE','#F0F8FF',240,248,255);
    insert into color (id,name,family,hex,r,g,b) values (2,'ANTIQUEWHITE','WHITE','#FAEBD7',250,235,215);
    insert into color (id,name,family,hex,r,g,b) values (3,'AQUAMARINE','BLUE','#7FFFD4',127,255,212);
    commit;
    end;
    I integrated your code into what I need done (see above). But I still get a compile error on the first insert line. Since the insert works when the table exists, I assume the stored procedure is not compiling because this line cannot be valid at the time of compilation (when the color table has not been created yet).
    Any ideas?
    Thanks,
    Rob

  • About DDl and Dml Operations On B1

    Hi ,
    I had Created A form In SDk Using UiAPI, It Contains Five Text Fields And One Button. And I had Created An EMP Table.It Contains Five Fileds. My Question Is:----
    >
    When I clicked Button , The data Entered In TextFields(EditText) Need To stored in Database.  Similirly All The Operation Need To Do. How Can we Do In sdk. Please tell Me code
    Regards
    Srinivas

    Srinivas,
    Please look at the subject of "Binding Items to Data SourcesBinding Items to Data Sources" in the SAP Business One SDK Help Center Documentation.  This should assist you and show you code samples.
    Eddy

  • Exporting Application w/ DDL and data

    I can export an Application.
    I can export the DDL for that application.
    I Cannot_ export the data for that application unless I am not following the proper procedure.
    Note that I did use "with supporting objects" option.
    Anyone know why ?
    Thanks in advance,
    Anon
    Edited by: Anon on Aug 2, 2010 11:20 AM
    Edited by: Anon on Aug 2, 2010 11:27 AM

    Supporting Objects allow you to add ddl and dml to your application so that you can export as one file and then import and install in one step. To get your data, I would suggest using SQL Developer and extracting your data as insert statements. That can then be loaded into your supporting objects (after your ddl).
    Here is a link to a 3.2 tutorial that explains more about Supporting Objects.
    -- Sharon

  • Andrew - one more doubt in the donsample.sql file,it is urgent

    Andrew,
    I believe you can answer this ,i hope i am not trying too much on your patience.Thanks .I am connected to the oracle server.In that i execute a procedure which i believe is executing on the oracle server.i supply arguments to it .The arguement is a file on my local directory .The error code follows:-
    I have problem running a oracle procedure which uses a xml parser built on java libraries.When i executed this procedure the following error came:-
    SQL> execute domsample('\oraclexdk\xdk\demo\plsql\parser','family.xml','error.txt');
    BEGIN domsample('\oraclexdk\xdk\demo\plsql\parser','family.xml','error.txt'); END;
    ERROR at line 1:
    ORA-29532: Java call terminated by uncaught Java exception:
    java.lang.SecurityException: relative pathnames are not
    allowed(\oraclexdk\xdk\demo\plsql\parser)
    ORA-06512: at "SYS.XMLPARSERCOVER", line 0
    ORA-06512: at "SYS.XMLPARSER", line 144
    ORA-06512: at "IWADM.DOMSAMPLE", line 77
    ORA-06512: at line 1
    Do you know something about this .ie. classpath variables or something like that.if you want the domsample arguement syntax for further clarifications ,i am enclosing this in the following lines.The setbasedir(p,dir) prompts for a parser object and a complete directory path.what i give here is the path on my local directory and i think this creates the error.
    How do i rectify this error.is it on my(client) side or the server side.If it on the oracle server side or my side can you tell me what went wrong.The parser and the dom package everything else is working fine.It is really urgent ,andrew.This is holding up all the work.The arguement syntax help says on 'dir' that this is a pointer to external file system .I have a confusion that whether this refers to external file system of the server or the client.if so form the server how to route it to the client directory or should i have a space on the server, upload this file and execute the domsample.sql file.Can you clear this concept for me.
    'dir' - must point to a valid directory on the external file system
    and should be specified as a complete path name
    'inpfile' - must point to the file located under 'dir', containing the
    XML document to be parsed
    'errfile' - must point to a file you wish to use to record errors; this
    file will be created under 'dir'
    I know i might be bugging you ,but your answers are really great.Thanks.
    regards
    gopal

    I seem to have this error with both windows and unix directory space.Please help me with debugging this .I am really struck with it.The error occurs at the same line when executed with the file on the unix server.
    SQL> execute domsample('/user/sb8066/','family.xml','error.txt');
    BEGIN domsample('/user/sb8066/','family.xml','error.txt'); END;
    ERROR at line 1:
    ORA-20100: Error occurred while parsing: Permission denied
    ORA-06512: at "SYS.XMLPARSER", line 22
    ORA-06512: at "SYS.XMLPARSER", line 69
    ORA-06512: at "IWADM.DOMSAMPLE", line 63
    ORA-06512: at line 1
    I won't clutter the forum.just to get your attention,i hope you can help me solving this problem,please can you see this thread,because in future i will be using this only to contact you.Thanks for the continued help.The windows space idea was not used.Many configurations had to be changed.Can you note what is peculiar at line 22 ,line 69.line 63 of domsample reads is just an 'end-if';I will expecting your answer as soon as possible.
    regards
    gopal

  • Double click to open .sql files with sql developer on mac osx

    hi,
    I am trying to double click a .sql file and open it with SQL Developer on Mac OSX lion. I have associated .sql files to SQL Developer. On clicking the file it opens the SQL developer application but does not open the actual .sql file. Any ideas?
    Thanks

    Hello,
    Did you find any solution to your problem ? My SQL Developer worked fine and could open additional SQL files. Now it only opens the first one when starting SQL Developer. Additionnal files cannot be opened. Even running sqldeveloper.exe from command line with a SQL file as parameter doesn't help.
    I'm on Windows 7, 64 bit, but the environment may not necessarily be the cause.
    Regards
    -- Alwin

  • Compare 2 schemas and get the difference with .sql file.

    Hi,
    I am using ORACLE DATABASE 11g R2 and ORACLE Linux 5.
    I want to perform a very lengthy process and want to make it automated.
    I am having a software named as SVN. In which all the developers keep their updated scripts.
    We have 2 schema's one is used for developement and when all the development seems good we implement the scripts on the final schema which is used by testing people also.
    Now every day we need to check the modifications in the development schema, that we do by observing the updated scripts in the SVN software. Now we get the scripts which are modified.
    We will fire this scripts to a sample schema then we will compare the objects in this schema and the same objects in our final schema. If the objects in sample schema is different than the final schema it should give me the
    script to create the same type object in the final schema.
    Below is a proper example to explain :-
    Developement Schema :- 'DEV'
    SVN Script Schema :- 'SVNscript'
    Main Schema :- 'MAIN'
    1) On Monday developers modified/added 4 tables in the development schema names 'DEV' after working for a day they found that the changes are necessary and so checked-in in the SVN software.
    2) On tuesday morning we found 4 scripts which has been modified/added in the SVN.
    The Scripts were as follows :-
    1St table :- An extra column was added.
    2nd table :- An index was created on it.
    3rd table :- 2 Columns were dropped from it.
    4th table :- A new table is added in the schema.
    Now taking these 4 scripts i am going to execute it in a sample schema named :- SVNscript
    SVNscript schema will have now 4 tables with proper properties(columns,indexes,...). Now this is the final table structure as we want in our 'MAIN' schema .
    Coming to MAIN schema which is our most important schema and all the development work is finally posted here.Considering MAIN schema is having around 1000 tables,500 function/procedure/package and many more DB objects.
    I want to compare(one way compare) from SVNscript schema --> MAIN schema :- That the objects present in the SVNscripts schema is same or not in the MAIN schema. If its not same then this code should generate a .sql script for me which i should be able to fire on the MAIN schema.
    The output .sql scripts should be something like this :-
    1st Table :- Alter table add...
    2nd Table :- Create index on table...
    3rd Table :- Alter table drop...
    4th table :- Create table tablename...
    I found a link while trying this but it is not the perfect fit to my requirement
    http://www.dbspecialists.com/files/scripts/compare_schemas.sql
    Please let me know the best code to compare 2 schemas and get a .sql file as output of the difference.
    Thanks in advance.

    Yes I followed the tutorial properly this time. Still i have a few queries :-
    1) This is returning me the 'ALTER TABLE...' statement but how to make it more efficient to return all the DDL dependent on the table, Like index,trigger,view...
    2) I want to compare objects in a different schema on a different db. I have created an DBLINK but how to use it ... can i use it like
    DBMS_METADATA.OPEN('TABLE'," Network_link_name " );Can you please give me some clear about it.
    3) I created a table 'TAB1' with which i want to compare a 'TAB1' in other schema.I was not getting how to compare on remote dblink so,I created the same table with the following code in the same schema
    CREATE TABLE TAB1_OLD as select * from TAB1@DBLINK where 1=2;Now when i fire the below query to get the alter difference I get the following error :-
    SQL> SELECT get_table_alterddl('TAB1','TAB1_old') FROM dual;
    SELECT get_table_alterddl('TAB1','TAB1_old') FROM dual
    ORA-31603: object "TAB1_old" of type TABLE not found in schema "SVNCHECK"
    ORA-06512: at "SYS.DBMS_METADATA", line 5225
    ORA-06512: at "SYS.DBMS_METADATA", line 5189
    ORA-06512: at "SVNCHECK.GET_TABLE_SXML", line 17
    ORA-06512: at "SVNCHECK.COMPARE_TABLE_SXML", line 12
    ORA-06512: at "SVNCHECK.GET_TABLE_ALTERXML", line 11
    ORA-06512: at "SVNCHECK.GET_TABLE_ALTERDDL", line 11
    Can you please guide me why i am getting this error?
    I have made sure that TAB1_OLD table has been created and the entries are also present in the data dictionary tables.
    SQL> select * from tab1_old;
    EMPNO ENAME                  MGR DEPTNO
    ----- -------------------- ----- ------The only difference is that this table was created with CREATE TABLE AS SELECT statement ....
    Thanks.

Maybe you are looking for

  • When I try to print online with my HP2270DW printer it only allows me to save a page

    When I am on the internet and I try to print something the only options that come up are Save and Close.  My HP2270DW printer is my default printer.  I did not set it as XPS or PDS.  Is there anything I need to change in the settings of my printer to

  • Binary to XMl Conversion

    Hi All, I am trying to convert data from internal table to Binary and then taking the same in the XML format for Display. Steps 1 : from internal table to Binary conversion. create & set encoding lo_encoding = lo_ixml->create_encoding(               

  • String encoding

    Hi, I'm sending a few strings to the DB through a JDBC PreparedStatement, and it looks like it's sending them to the DB using a wrong character encoding. It's connecting to an Oracle i9 DB. Wondering, is there anyway to conifigure what encoding the d

  • Do u need to buy 2 upgrades for ur imac and mac air

    a

  • SQL Server 2008 R2 Backup jobs are failing

    I have a problem with SQL Server 2008 R2. First the management studio package is failing to load. backup jobs on that server are failing to run. The server won't accept any installation. The Installation of .Net Framework failed, the Installation of