Triggers in a package

I need to create a lot of audit triggers.
Is it possible to put them all inside a package or a procedure so that they are all together instead of seeing 200 triggers under triggers in TOAD.

No. Triggers are database objects, like tables or views, and no more capabale of being packaged.
If organisation bothers you, you could create an auditor account to manage you audit system and have it own the audit triggers, rather than the table owner. In general we just have to live with cluttered schemas for big apps.
Cheers, APC

Similar Messages

  • Triggers inside a package

    How do I use triggers within a package?

    You don't. Triggers are pieces of code that we attach to database objects that contain events (tables, views) or events (logon, execute ddl). Of course, a trigger can execute stored procedures.
    As I type this answer it occurs to me that you might be wanting to attach a trigger in order to do something every time a pacakage is excuted. If that is the case, then tell us what that something is and we may be able to ssuggest a workaround.
    Cheers, APC

  • Query: Can we write Triggers in a Packages??

    Hi Al

    Triggers provide a way of executing PL/SQL code on the occurrence of specific database events. For example, you can maintain an audit log by setting triggers to fire when insert or update operations are carried out on a table. The insert and update triggers add an entry to an audit table whenever the table is altered.
    The actions that Informix Dynamic Server triggers perform are constrained to multiple insert, update, delete, and execute procedure clauses; whereas, Oracle allows triggers to execute arbitrary PL/SQL code. Oracle triggers are similar to stored procedures in that they can contain declarative, execution, and exception handling code blocks.if you mean trigger call package, yes!
    http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/statements_7004.htm
    Edited by: Surachart (HunterX) on Jun 14, 2009 8:46 PM

  • Creating triggers in a package

    Does any body has an example on how to create triggers in package/package body.
    Here is an example of one of many triggers that I need to create in a package.
    CREATE OR REPLACE TRIGGER distributor_q_i
    BEFORE INSERT ON f_sw.WQM001Q000001
    FOR EACH ROW
    DECLARE
    lv_sql_error_code PLS_INTEGER;
    lv_sql_error_message VARCHAR2(512);--Maximum SQL error message size:512
    BEGIN
    INSERT INTO [email protected]
    (F_PRITIME, F_STATUS, F_DELAY, F_TIMEOUT, F_USERID,
    F_GROUPID, UF000, UF001, UF002, UF003, UF004, UF005,
    UF006,SYS_CREATED_DATE, SYS_STATUS_DATE,
    SYS_STATUS_PREV,SYS_USER_NAME, SYS_USER_IP )
    VALUES (:new.f_pritime,:new.f_status,:new.f_delay,:new.f_timeout,
    :new.f_userid,:new.f_groupid,:new.uf000,:new.uf001,
    :new.uf002,:new.uf003,:new.uf004,:new.uf005,
    :new.uf006,SYSDATE, SYSDATE, null, USER, null);
    EXCEPTION
    WHEN OTHERS THEN
    lv_sql_error_code := SQLCODE;
    lv_sql_error_message := SQLERRM(v_sql_error_code);
    DBMS_OUTPUT.PUT_LINE('OTHER ERROR');
    DBMS_OUTPUT.PUT_LINE(v_sql_error_message);
    END distributor_q_i;
    show errors;

    Hello
    That idea is pretty much fine. If you're on 9i the values(rec1) will work, if you're on 8i you'll have to specify each column i.e.
    SQL> CREATE OR REPLACE PACKAGE dt_test_package
      2  AS
      3  PROCEDURE proc1 (rec1 IN dt_test_tab2%ROWTYPE);
      4  END;
      5  /
    Package created.
    SQL> CREATE OR REPLACE PACKAGE BODY dt_test_package
      2  AS
      3  PROCEDURE proc1 (rec1 IN dt_test_tab2%ROWTYPE)
      4  IS
      5  BEGIN
      6  INSERT INTO dt_test_tab2 VALUES(rec1.col1,rec1.col2);
      7  END;
      8  END;
      9  /
    Package body created.
    SQL> CREATE OR REPLACE TRIGGER dt_test_trigger BEFORE INSERT ON dt_test_tab1 FOR EACH ROW
      2
      3  DECLARE
      4  rec1 dt_test_tab2%ROWTYPE;
      5  BEGIN
      6  rec1.col1 := :NEW.col1;
      7  rec1.col2 := :NEW.col2;
      8  dt_test_package.proc1(rec1);
      9  END;
    10  /
    Trigger created.
    SQL> insert into dt_test_tab1 values('col1','col2','col3');
    1 row created.
    SQL> /
    1 row created.
    SQL> select * from dt_test_tab1;
    COL1       COL2       COL3
    col1       col2       col3
    col1       col2       col3
    SQL> select * from dt_test_tab2;
    COL1       COL2
    col1       col2
    col1       col2David

  • Creating Info-Package Groups

    Hi All,
    We are running a Job through Process chain. But due to some bug it is taking 4 Hrs to complete. We tried executing the Info-Packages manually. It completed with in 30 Mins. So we are planning to create IP group to trigger that Job instead of through Process chain.
    Can you please explain how to create the Info Package Group and how to include info packeges in to the IP Group.
    After creating IP group we have to schedule a Job to trigger this IP group which inturn triggers the Info packages.
    If possible please explain the steps for the above process.
    Million of thanks in advance.
    Regards,
    Reddi.

    Hi,
    Procedure to create InfoPackage Group
    Go to InfoSource tree in modeling of the Administrator Workbench and choose in the standard toolbar of the right area of the screen  Show InfoPackage Group.
    On the right-hand side of the screen, you will see the InfoPackage group tree.
    Highlight a node of the InfoPackage group tree and create a new InfoPackage group using the context menu (right mouse click). This is always inserted underneath the highlighted node.
    Select an InfoPackage (in the InfoSource tree in the middle area of the screen) that you want to transfer to the InfoPackage group and move it into the InfoPackage group you want by using drag & drop.
    You can assign as many InfoPackages as you like to an InfoPackage group.
    InfoPackages with the same selection conditions, same assignment for combination of InfoSource / DataSource / source system, same data type (transaction data or master data), and same data target cannot be assigned to the same InfoPackage group.
    Alternatively to the above procedure, you can also create an InfoPackage group in the monitoring view of the Administrator Workbench. However, in this view it is not possible to insert InfoPackages into the InfoPackage Group.
    You have created an InfoPackage group and have inserted InfoPackages into the InfoPackage group. You can now
    Scheduling an InfoPackage Group
    Choose Show InfoPackage Groups in the InfoSource tree of the Administrator Workbench – Modeling, or choose the InfoPackages view in Monitoring of the AWB.
    Select an InfoPackage group from the InfoPackage group tree and choose Schedule.
    You arrive in the scheduler (InfoPackage group maintenance) with the InfoPackages and Scheduling tab pages.
    Select the InfoPackages you want to load.
    By default, all InfoPackages are selected.
    On the tab page InfoPackages, number the InfoPackages that are assigned to the group according to the sequence in which the loading process is to be carried out.
    For the InfoPackages, select whether you want the monitor to run a check during the data update to see if the first request from the list has been completely and correctly processed. Only then will the request for which this indicator has been set be processed.
    Define a fixed delay of one minute for the individual InfoPackages. The delay represents the wait time until the next request is carried out.
    Schedule the InfoPackage group in the background.
    -Shreya

  • How to view list of all constraints,triggers,procedures ...etc

    hi,
    how to view a list of all the available constraints, triggers, procedures, functions, packages in a database.And how to view its definition ?

    user12222356 wrote:
    And how to view its definition ?If by definition you mean DDL to create it, use DBMS_METADATA:
    SELECT  DBMS_METADATA.GET_DDL(object_type,object_name,owner)
      FROM  DBA_OBJECTS
      WHERE OBJECT_TYPE IN ('TRIGGER','PROCEDURE','FUNCTION' )
    /For example:
    SET LONG 10000
    SELECT  DBMS_METADATA.GET_DDL(object_type,object_name,owner)
      FROM  DBA_OBJECTS
      WHERE OBJECT_TYPE IN ('TRIGGER','PROCEDURE','FUNCTION' )
    DBMS_METADATA.GET_DDL(OBJECT_TYPE,OBJECT_NAME,OWNER)
      CREATE OR REPLACE PROCEDURE "SYS"."SUBPTXT2" (name varchar2, subname varchar2,
    usr varchar2,
                                 dbname varchar2, dbowner varchar2,
                                 txt in out varchar2) is
    status diutil.ub4;
    begin -- main
        diutil.subptxt(name, subname, usr, dbname, dbowner, txt, status);
        if (status <> diutil.s_ok) then
            if (status = diutil.s_subpNotFound) then
    DBMS_METADATA.GET_DDL(OBJECT_TYPE,OBJECT_NAME,OWNER)
                txt := '$$$ s_subpNotFound';
            elsif (status = diutil.s_stubTooLong) then
                txt := '$$$ s_stubTooLong';
            elsif (status = diutil.s_logic) then
                txt := '$$$ s_logic';
            elsif (status = diutil.s_notInPackage) then
                txt := '$$$ s_notInPackage';
            else txt := '$$$ s_other';
            end if;
        end if;
    end subptxt2;
    DBMS_METADATA.GET_DDL(OBJECT_TYPE,OBJECT_NAME,OWNER)
    SQL> SY.

  • View the Idocs in Source System

    Hello
    I have triggered a ino package load to BI. Now the job is just hanging and is not bringing in any data. Please can someone tell me where can i view these idocs in the source system.
    Thanks

    Hi
    IDocs at Source system --BD87 / WE19/WE20/WE30/WE02  are the Tcodes for IDOCs
    Till42 Outbound Idocs after 50 Inbound Status Idocs.
    You can even see the Idocs at Info Package -- Monitoring -- Environment - Idocs at Source system.
    Check your RFC at SM58/SM59 -- If the Queue Stuck -- Execute LUWs Manually.
    When the IDOCs are Taking time to process it is always better to Make the yellow request to Red and Delte the Request and Go for Repeat .
    Hope it helps

  • How can i access all the objects of one schema from another schema

    Dear All,
    How can i access all the objects(Tables,Views,Triggers,Procedures,Functions,Packages etc..) and do the modifications of one schema from another schema (Without using synonyms concept).
    Thanks in advance,
    Mahi

    First of all, synonyms only help you easy reference the object. It doesn't have any implication of object privilege.
    As long as you have proper privilege on target object. You can access it with or without synonyms.
    Assuming you have proper privilege of objects, you can use following command to assume schema owner.
    ALTER SESSION SET CURRENT_SCHEMA = Schema_owner

  • Reference to uninitialized composite

    Lately we experience intermittent problems deleting data from tables with TAPI/TAPI triggers and CAPI packages (Headstart 6i). When deleting a relatively large number of rows, in this case 900, we get an ORA-06530 error which seems to be caused by the TAPI del procedure. Below is an example of the delete statement and subsequent error.
    If we limit the number of rows to be deleted at once to e.g. 100 the problem disappears !
    Has anyone experienced a similar problem and does somebody know what the cause and solution is ?
    Thank you, Marcel.
    delete from gns_demand_values
    where cde_id in (select id from gns_customer_demand_structures where cdn_id=38);
    delete from gns_demand_values
    ERROR at line 1:
    ORA-20999:
    ORA-06512: at "HST65.CG$ERRORS", line 562
    ORA-06512: at "GNS_OWN.CG$GNS_DEMAND_VALUES", line 1007
    ORA-06530: Reference to uninitialized composite
    ORA-06512: at "GNS_OWN.CG$BDR_GNS_DEMAND_VALUES", line 55
    ORA-04088: error during execution of trigger 'GNS_OWN.CG$BDR_GNS_DEMAND_VALUES'
    SQL> @messages
    Error QMS-00100: Unhandled Exception ORA-06530: Reference to uninitialized composite in PL/SQL Program Unit cg$GNS_DEMAND_VALUES.del.others
    Contact Helpdesk
    PL/SQL procedure successfully completed.

    CDM RuleFrame is optimized for very fast interactive processing. There are a number of known issues related to performance of the CAPI during batch operations. In the Headstart User Guide, in the Business Logic Layer section, we have documented a number of strategies to address this problem. It sounds like you are probably running into some kind of stack overflow. That would explain why both limiting the number of rows processed and disabling the rules in question both resolve the problem.
    Regards,
    Lauri

  • Solving "COMMIT business rules" on the database server

    Headstart Oracle Designer related white paper
    "CDM RuleFrame Overview: 6 Reasons to get Framed"
    (at //otn.oracle.com/products/headstart/content.html) says:
    "For a number of business rules it is not possible to implement these in the server
    using traditional check constraints and database triggers. Below you can find two examples:
    Example rule 1: An Order must have at least one Order Line ..."
    But, one method exists that allows solving "COMMIT rules" completely on the database level.
    That method consists of the possibility of delaying the checking of the declarative constraints (NOT NULL, Primary Key, Unique Key, Foreign Key, Check Constraints) until the commit
    (that method was introduced first in the version 8.0.).
    E.g. we add the field "num_emps" to the DEPT table, which always has the value of the number
    of the belonging EMP rows and add DEFERRED CK which uses the values from that field:
    ALTER TABLE dept ADD num_emps NUMBER DEFAULT 0 NOT NULL
    UPDATE dept
    SET num_emps = (SELECT COUNT (*) FROM emp WHERE emp.deptno = dept.deptno)
    DELETE dept WHERE num_emps = 0
    ALTER TABLE dept ADD CONSTRAINT dept_num_emps_ck CHECK (num_emps > 0) INITIALLY DEFERRED
    Triggers that insure the solving of the server side "COMMIT rules" are fairly simple.
    We need a packed variable that is set and reset in the EMP triggers and those value
    is read in the bur_dept trigger (of course, we could have place the variable in the package
    specification and change/read it directly, thus not needing the package body,
    but this is a "cleaner" way to do it):
    CREATE OR REPLACE PACKAGE pack IS
    PROCEDURE set_flag;
    PROCEDURE reset_flag;
    FUNCTION dml_from_emp RETURN BOOLEAN;
    END;
    CREATE OR REPLACE PACKAGE BODY pack IS
    m_dml_from_emp BOOLEAN := FALSE;
    PROCEDURE set_flag IS
    BEGIN
    m_dml_from_emp := TRUE;
    END;
    PROCEDURE reset_flag IS
    BEGIN
    m_dml_from_emp := FALSE;
    END;
    FUNCTION dml_from_emp RETURN BOOLEAN IS
    BEGIN
    RETURN m_dml_from_emp;
    END;
    END;
    CREATE OR REPLACE TRIGGER bir_dept
    BEFORE INSERT ON dept
    FOR EACH ROW
    BEGIN
    :NEW.num_emps := 0;
    END;
    CREATE OR REPLACE TRIGGER bur_dept
    BEFORE UPDATE ON dept
    FOR EACH ROW
    BEGIN
    IF :OLD.deptno <> :NEW.deptno THEN
    RAISE_APPLICATION_ERROR (-20001, 'Can''t change deptno in DEPT!');
    END IF;
    -- only EMP trigger can change "num_emps" column
    IF NOT pack.dml_from_emp THEN
    :NEW.num_emps := :OLD.num_emps;
    END IF;
    END;
    CREATE OR REPLACE TRIGGER air_emp
    AFTER INSERT ON emp
    FOR EACH ROW
    BEGIN
    pack.set_flag;
    UPDATE dept
    SET num_emps = num_emps + 1
    WHERE deptno = :NEW.deptno;
    pack.reset_flag;
    END;
    CREATE OR REPLACE TRIGGER aur_emp
    AFTER UPDATE ON emp
    FOR EACH ROW
    BEGIN
    IF NVL (:OLD.deptno, 0) <> NVL (:NEW.deptno, 0) THEN
    pack.set_flag;
    UPDATE dept
    SET num_emps = num_emps - 1
    WHERE deptno = :OLD.deptno;
    UPDATE dept
    SET num_emps = num_emps + 1
    WHERE deptno = :NEW.deptno;
    pack.reset_flag;
    END IF;
    END;
    CREATE OR REPLACE TRIGGER adr_emp
    AFTER DELETE ON emp
    FOR EACH ROW
    BEGIN
    pack.set_flag;
    UPDATE dept
    SET num_emps = num_emps - 1
    WHERE deptno = :OLD.deptno;
    pack.reset_flag;
    END;
    If we insert a new DEPT without the belonging EMP, or delete all EMPs belonging to a certain DEPT, or move all EMPs of a certain DEPT, when the COMMIT is issued we get the following error:
    ORA-02091: transaction rolled back
    ORA-02290: check constraint (SCOTT.DEPT_NUM_EMPS_CK) violated
    Disvantage is that one "auxiliary" column is (mostly) needed for each "COMMIT rule".
    If we'd like to add another "COMMIT rule" to the DEPT table, like:
    "SUM (sal) FROM emp WHERE deptno = p_deptno must be <= p_max_dept_sal"
    we would have to add another column, like "dept_sal".
    CDM RuleFrame advantage is that it does not force us to add "auxiliary" columns.
    We must emphasize that in real life we would not write PL/SQL code directly in the database triggers, but in packages, nor would we directly use RAISE_APPLICATION_ERROR.
    It is written this way in this sample only for the code clarity purpose.
    Regards
    Zlatko Sirotic

    Zlatko,
    You are right, your method is a way to implement "COMMIT rules" completely on the database level.
    As you said yourself, disadvantage is that you need an extra column for each such rule,
    while with CDM RuleFrame this is not necessary.
    A few remarks:
    - By adding an auxiliary column (like NUM_EMPS in the DEPT table) for each "COMMIT rule",
    you effectively change the type of the rule from Dynamic (depending on the type of operation)
    to a combination of Change Event (for updating NUM_EMPS) and Static (deferred check constraint on NUM_EMPS).
    - Deferred database constraints have the following disadvantages:
    When something goes wrong within the transaction, then the complete transaction is rolled back, not just the piece that went
    wrong. Therefore, it becomes more important to use appropriate commit units.
    There is no report of the exact row responsible for the violation nor are further violations either by other rows or of other
    constraints reported.
    If you use Oracle Forms as a front end application, the errors raised from deferred constraints are not handled very well.
    - CDM discourages the use of check constraints. One of the reasons is, that when all tuple rules are placed in the CAPI,
    any violations can be reported at the end of the transaction level together with all other rule violations.
    A violated check constraint would abort the transaction right away, without the possibility of reporting back other rule violations.
    So I think your tip is a good alternative if for some reason you cannot use CDM RuleFrame,
    but you'd miss out on all the other advantages of RuleFrame that are mentioned in the paper!
    kind regards, Sandra

  • System error in program RSMDATASTATE and form RSM_DATASTATE_CHECK-10-

    Hi Experts,
    We found an error ABAP/P Processor: Message_type_x and Error analysis shows "System error in program RSMDATASTATE and form RSM_DATASTATE_CHECK-10-"
    I found a forum that close to my issue: ABAP Dump Error - System error in program RSMDATASTATE
    Also, I checked the SAP Note : 858671 and 1094948.
    As for my BW system, the system component information is SAP Netweaver BI 7.0 Release 700 Level 0019. Does it mean the both sapnotes alreay apply to my sap system?
    Could anyone please advices me in this issue? I am so newbie in SAP BW. I'm so apology if they already have a forum or a note that related to my issue.
    Thank you everyone for further assistances
    With Best Regards,
    Molly

    Hi Molly ,
    A per my experience and and observation. Message_type_x issue will occur in two scenarios.
    1) When ever Sytesm copy happend.
    2) Triggering of info package twice at a same time.
    Case1:
    When ever system copy happens, we will have init request still pointing to the Previous targer syatem's in Init.
    Thsi can be resolved by reinitilization of source request.
    Note: Make sure that Init reqiuest is same in both Source and Target systems.
    Case 2:
    Message_type_x  May occur by triggering the info package at a same time twice(some time we also get xx request is inprocess alert).
    With respect to the following blog:
    Kindly check the request in RSMDATASTATE.
    1) Request SID for which all requests are technically o.k.
    2) Request SID for which all requests checked for quality.
    3) Request SID, up to which aggregates are to be rolled up.
    Best Regards,
    Maruthi

  • PLEASE REVIEW MY RESUME (email)

    Objective: To obtain a position as an Oracle/Web Developer
    Qualifications Summary:
    Strong knowledge of object-relational database development and client/server technology, experience in application design.
    Operating Systems: Linux, Windows NT, MS-DOS
    Languages: PL/SQL, SQL, CFML, JavaScript, HTML
    Databases: Oracle 8.x, MS Access
    Applications/Utilities: SQL*Plus, SQL*Loader, ColdFusion 4.0
    Professional Experience:
    6/99-2/01 XXXXXXX, Inc. New York, NY
    Programmer
    The company provided Trading and Risk Management Systems
    for its clients (banks, investment banks and other financial and
    non-financial institutions). My responsibilities included:
    h Working with internal users and development staff to define database requirements and structure; converting the logical
    design into a physical database implementation in Linux environment
    h Developing PL/SQL triggers, procedures, collections, packages, and other database objects for solutions to business
    problems and integrating them with application programs
    h Importing historical data into Oracle equities database using
    SQL*Loader
    h Developing ColdFusion-based front-end
    h Creating an automated E-mail service for the application
    h Implementing ColdFusion security features
    h Application of Java Applets into the ColdFusion framework
    h Administering ColdFusion Server as needed
    null

    in routing.
    Operation 10. WC1
    base qty 1000 pc
    set up time 10 min
    machine time 1 H.
    labour time 4 H.
    indirect expense. 1000 pc.
    If you are maintaing as stated above then it means for making 1000 pc of your product you need machine for one hour and you require 4 labours.   If you give 2000 pc in production order for example then system will propose machine time of 2 hrs and labour 8 hrs in conformation screen.   These are standard values you are mainting in routing. 
    If you mean the same then you are correct in maintaing  the standard values.
    Regards,
    KrishnamurthyDSS
    Edited by: KrishnamurthyDSS on Nov 28, 2008 9:26 AM

  • PLEASE proofread my resume

    (I've stretched the truth somewhat over here...:-)Please let me know if something does not sound plausible. Thanks a lot! Olga.)
    Objective: To obtain a position as an Oracle/Web Developer
    Summary of Qualifications:
    Strong knowledge of object-relational database development and client/server technology, experience in application design.
    Operating Systems: Linux, Windows NT, MS-DOS
    Languages: PL/SQL, SQL, CFML, JavaScript, HTML
    Databases: Oracle 8.x, MS Access
    Applications/Utilities: SQL*Plus, SQL*Loader, ColdFusion 4.0
    Professional Experience:
    6/99-2/01 New York, NY
    Programmer
    Worked with internal users and development staff to define database requirements and structure; converted the logical
    design into a physical database implementation in Linux environment
    Developed PL/SQL triggers, procedures, collections, packages, and other database objects for solutions to business
    problems and integrated them with application programs
    Imported historical data into Oracle equities database using
    SQL*Loader
    Developed ColdFusion-based front-end
    Created an automated E-mail service for an application
    Implemented ColdFusion security features
    Applied Java Applets into the ColdFusion framework
    Administered ColdFusion Server as needed
    null

    Please read this post then provide some details.  What operating system? Are there any error messages on the computer screen or blinking lights on the printer?  What program are you using to print?
    Bob Headrick,  HP Expert
    I am not an employee of HP, I am a volunteer posting here on my own time.
    If your problem is solved please click the "Accept as Solution" button ------------V
    If my answer was helpful please click the "Thumbs Up" to say "Thank You"--V

  • PLEASE REVIEW MY RESUME

    (I've stretched the truth somewhat over here...:-)Please let me know if something does not sound plausible. Thanks a lot! Olga.)
    Objective:
    To obtain a position as an Oracle/Web Developer
    Qualifications Summary:
    Strong knowledge of object-relational database development and client/server technology, experience in application design.
    Operating Systems: Linux, Windows NT, MS-DOS
    Languages: PL/SQL, SQL, CFML, JavaScript, HTML
    Databases: Oracle 8.x, MS Access
    Applications/Utilities: SQL*Plus, SQL*Loader, ColdFusion 4.0
    Professional Experience:
    6/99-2/01 XXXXXXXXXX, Inc. New York, NY
    Programmer
    The company provided Trading and Risk Management Systems
    for its clients (banks, investment banks and other financial and
    non-financial institutions). My responsibilities included:
    h Working with internal users and development staff to define database requirements and structure; converting the logical design into a physical database implementation in Linux environment
    h Developing PL/SQL triggers, procedures, collections, packages, and other database objects for solutions to business
    problems and integrating them with application programs
    h Importing historical data into Oracle equities database using
    SQL*Loader
    h Developing ColdFusion-based front-end
    h Creating an automated E-mail service for the application
    h Implementing ColdFusion security features
    h Application of Java Applets into the ColdFusion framework
    h Administering ColdFusion Server as needed
    null

    [email protected] wrote:
    Hi, I am Raghul,
    Currently working as Hardware test engineer . I have 4 + years of exeperience on Electronics field and 4 years of experience in labview automation tool. I am attaching my resume here. Kindly review the resume and please let us know possible vaccancies  in your organization.
    Please check your DOB in your Resume. You are born on 1987 and still you are 23? Please be carefull in these type of typos/mistakes.
    The best solution is the one you find it by yourself

  • Business logic in Database layer or in Middle layer.

    I am converting my form 6i client server application to .net 3 tier web architecture application using oracle 10g database.
    My application is a very data centric, millions of records calculations happen in many processes.
    I have a problem while presenting my design approach to engineering board in my company.
    Approach 1
    Put business logic in backend database layer.
    I proposed to put business logic in backend packages rather than putting it in middle .net layer and create web shell services in middle layer which would call these packages and show the data on screens.
    Approach 2
    Put business logic in middle tier .net layer.
    My company engineering board are more keen for this approach because they think this is the latest approach and now days nobody put business logic in database and moreover we would be having clear separation between data and logic.
    But my concern is we may have network latency issues in approach 2 because we need to move millions of records data back and forth between database and application server.
    Could you please suggest, which approach is best and why?

    My views:
    1. If it is a data centric operation, like you have mentioned, it will be a bottleneck to transfer the required data to middle tier for processing
    2. If you are going to support one and only one RDBMS as a backend ever, I don't see a reason to take an approach which is mostly taken in case one needs to support databases from different vendors as back end.
    3. If you are convinced that yours is the only application that would ever connect to this database, then you can add the business logic in the middle tier; If not, let it be in the database in form of triggers/procedures/functions/packages etc.
    4. Last but not the least, having business logic in the database would call for faster processing and that you can use all features of that particular RDBMS to full extent, in case needed.
    I always support having the business logic in the database layer (not that I hate business logic in application/middle tier) but there can be exceptions.
    Just my two cents :-)

Maybe you are looking for

  • Apple ID and Multiple Devices

    Hello,   There is about 4 devices logged onto my Apple ID account. Two are my devices and two of them are "friends" devices, who now refuse to log out and stop using my Apple ID. Is there any place in the Apple ID settings where I can log off of my a

  • Newer iPhoto library lost in migration

    I migrated my iPhoto library from my old macbook onto my new macbook where I had already uploaded new photo albums. After the migration, my iPhoto library needed to be rebuilt.Now my new photos from the last month are missing. Are they lost?

  • Can a PL/SQL code of timesten be called in oracle or vice versa

    Hi In IMDB cache setup with AWT cache group , the pl/sql code or procedure that is written in oracleDB can it be called in TimesTen and vice versa example: In a stored procedure the DML's that are performed will be updating the cache tables and log t

  • WLC 5508 - SNMP traps

    OK, so I'm at wit's end with this one now. I configured my SNMP items on the controller and let it roll. I started to watch my SNMP monitor (SNMPc Management Console by CastleRock) and saw some life from my controller.  Yay, woot and dance. I then st

  • Adobe Application Manager installer failed to initialize

    hello ~ After upgrading to CS5.5 i realize the application manager is missing and is needed for all auto updating. I downloaded Application Managger 2.0 but it won't install. Every time i try to install and get error message "Installer failed to inti