Import of .bacpac fails on view with instead of delete trigger
I'm using Azure Premium SQL.
When I export the database using the portal and blob storage and then immediately try to import it as a test to a new database (also using the portal) I get the error below.
Looking at the restored database, many of the views are not there (including the one listed) although that may be because it failed on this view during the restore.
The trigger seems to be working just fine in the original database. It just won't restore from the bacpac.
BTW, I notice in the original database before backup, the trigger says "DELETE
FROM alndata.AptChangeLog", not "DELETE alndata.AptChangeLog"
Thanks.
Bryan
Error encountered during the service operation.
Could not import package.
Error SQL72014: .Net SqlClient Data Provider: Msg 8197, Level 16, State 4, Procedure AdminChangeLogAptNameDelete, Line 7 The object 'AlnData.AdminChangeLogAptName' does not exist or is invalid for this operation.
Error SQL72045: Script execution error. The executed script:
CREATE TRIGGER [AlnData].[AdminChangeLogAptNameDelete]
ON [AlnData].[AdminChangeLogAptName]
INSTEAD OF DELETE
AS BEGIN
SET NOCOUNT ON;
DELETE alndata.AptChangeLog
WHERE aptchangelog_id IN (SELECT aptchangelog_id FROM deleted);
END
Hello,
Sorry for delay.
I had found a feedback about trigger issue when restore SQL Database from a BACPAC file. Microsoft said the fixed will be available in the next major release of DacFx.
Feedback:
SQL Azure fires a trigger when restoring from bacpac
You can refer to the workarounds in the feedback. For example, if there is small amount of triggers on the database, you can try to remove the triggers and then recreate when restore from bacpac file.
Regards,
Fanny Liu
Fanny Liu
TechNet Community Support
Similar Messages
-
ApEx 4.1.1: update record in a view with 'instead of update' trigger
I created a form against a view. The view is complex enough which prevents direct updates. To incorporate the update logic I created an 'instead of update' trigger on the view. When I open up the form, do changes, and click 'Apply Changes' button I am getting the following exception
ORA-02014: cannot select FOR UPDATE from view with DISTINCT, GROUP BY, etc.
I understand that the standard 'Automatic Row Processing' process is trying to lock the record before updating using a cursor like
select *
from my_view
for update
and fails. Is it possible to bypass this locking while using the standard APEX processes?
I think I can create a custom PL/SQL process which would execute the UPDATE statement (at least, it works in SQL*Plus), but I would like to know if I can use a standard ApEx functionality for this.Hello,
Sorry for delay.
I had found a feedback about trigger issue when restore SQL Database from a BACPAC file. Microsoft said the fixed will be available in the next major release of DacFx.
Feedback:
SQL Azure fires a trigger when restoring from bacpac
You can refer to the workarounds in the feedback. For example, if there is small amount of triggers on the database, you can try to remove the triggers and then recreate when restore from bacpac file.
Regards,
Fanny Liu
Fanny Liu
TechNet Community Support -
"Refresh after" insert fails for DB-View with INSTEAD OF Triggers
Hi,
I have a database view with INSTEAD OF triggers defined for INSERT, UPDATE, DELETE.
For some EO attributes the refresh after insert and update is defined.
Posting to database fails.
According to Database 9.2 Manual and a previous thread (BC4J and Updatable Views the RETURNING clause is not allowed for database views with INSTEAD OF triggers.
Is there a workaround so the refresh after is done, but without the RETURNING feature?
I only need to refresh some values. The PK i can set in the create method of the EO so refresh via a additional SELECT would be possible.
If not Feature Request:
Add the possibility to do the "refresh after ..." with a 2nd SELECT using the PK instead of using the RETURNING clause.
Of course then it is not possible to set the PK in the database trigger. PK has to be set in the create method of the EO.
Thanks,
Markus
GEMS ITHi Markus,
Turning on the stack trace (-Djbo.debugout put=Console - in the Project/runner) did help and I should have done it sooner. Turns out that when I constructed my EO based upon a database view - I should have left out the PKs of the base tables.
In my case, I am using an "Instead Of Trigger" to populate a multi-table arrangement (parent - child - grandChild - greatGrandChild relationship) where all base tables are using dbSequence/dbTriggers.
Final analysis - I would like to see BC4J handle this situation. I do not want to use View-Links and I should * not * have to resort to stored procedures and BC4J/doDML. If I construct a DB View this is participating in an parent - child - grandChild - greatGrandChild relationship that are using dbSequence/dbTriggers, then BC4J should be smart enough to construct VO knowing that I want to do insert, update, delete, selects - based upon this structure.
Thanks Markus,
Bill G... -
Issue in Invoking an Updatable View with Instead of Trigger
Hi,
I am trying to insert a record using Updatable View with Instead of Trigger. When i try to save the data, i get the below error:
java.sql.SQLException: ORA-01403: no data found
ORA-06512: at line 1
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:457)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:405)
at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:889)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:476)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:204)
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:540)
at oracle.jdbc.driver.T4CCallableStatement.doOall8(T4CCallableStatement.java:213)
at oracle.jdbc.driver.T4CCallableStatement.executeForRows(T4CCallableStatement.java:1075)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1466)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3752)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3887)
at oracle.jdbc.driver.OracleCallableStatement.executeUpdate(OracleCallableStatement.java:9323)
at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeUpdate(OraclePreparedStatementWrapper.java:1508)
at weblogic.jdbc.wrapper.PreparedStatement.executeUpdate(PreparedStatement.java:172)
at oracle.jbo.server.OracleSQLBuilderImpl.doEntityDML(OracleSQLBuilderImpl.java:432)
at oracle.jbo.server.EntityImpl.doDMLWithLOBs(EntityImpl.java:8566)
Can someone help me resolve this issue?
Also it would be great if you can share Sample codes for Invoking an updatable view with instead of trigger on Save/commit.
Regards,
JeevanAs a trigger is executed in the db and not in your app it's really hard to help as you did not give any useful information.
Have you read this blog http://stegemanoracle.blogspot.com/2006/03/using-updatable-views-with-adf.html ?
Timo
Edited by: Timo Hahn on 22.09.2011 09:15
And my friend google also found http://technology.amis.nl/blog/1447/adf-business-components-resfresh-after-insertupdate-and-instead-of-triggers -
How to create ADF BC components like EO from "View with INSTEAD OF trigger
I have a "View with INSTEAD OF trigger" on a external schema. is it possible to create ADF EO on top of this view in my local schema?. If possible, then is it possible to insert/update that external table using ADF standard data controls and Application module?. I'm trying to see if it's possible with standard ADF controls without calling pl/sql API to insert/update that external table. any ideas are appreciated.
Regards,
Suryahttp://stegemanoracle.wordpress.com/2006/03/15/using-updatable-views-with-adf/
-
Instead of delete trigger rows deleted
Hi All.
Im using a few instead of triggers over a view. The view selects data from other tables and merges them together. This view essentially forms the parent of a few one2one relationships with other tables.
However my application doesnt know its a view (im using hibernate orm framework) - so when I delete this object which is mapped to a view, I get an error saying that no records where deleted. Also, if i test in sqlplus, i get "0 rows deleted" in response to a delete - which of course is true, but i want it to say 1 or some number of my choice.
How can i modify my "instead of delete" trigger so that the number for records deleted count returned to caller is 1, or some number i can define?
Here is my current trigger...
create or replace
trigger product_view_delete_trigger
instead of delete
on product_view1
for each row
begin
null;
end;
Thanks.In regards to why Im using a view - its discussed here...
Crazy Union across 3 tables
The view im using is not updatable - it uses a union. I use "instead of triggers" to trick my application into thinking its a real table which is insertable. And this works fine.
Im having trouble tricking my application into think that the delete was successful, because the "instead of delete" trigger doesnt actually delete anything - which is what i wnat - but i want it to report back to the caller that a delete occurred.
I want the SQL%ROWCOUNT to be set to 1 or whatever. Perhaps this is not hte variable, but im hoping there is some variable I can set which is used to report back to the client as to how many records were deleted.
thx. -
ADF BC: Creating updatable VO based upon DB View with "instead of" trigger
Hello all,
I have got an interesting issue. I have an Oracle DB view that is used to hide some complexity in the underlying DB design (it does some unions). This view is updatable because we have created an "instead of" update trigger to update the correct table when a row is updated. This is working fine in SQL.
Next, we have created an ADF Entity object based upon the view, specifying an appropriate PK for the DB View. Then, we have created an updatable VO based upon the EO. All well and good so far. The issue we have is in trying to commit changes to the DB - because the ADF BC framework is trying to lock the row to update (using SELECT ... FOR UPDATE), it's not working because of ORA-02014 - cannot select FOR UPDATE from view with DISTINCT, GROUP BY, etc.
This leads me to thinking about overridding doSelect() on the EO as hinted here http://radio.weblogs.com/0118231/stories/2005/07/28/differenceBetweenViewObjectSelectAndEntityDoselectMethod.html
As a temporary test, we have over-ridden the EO's doSelect to call super.doSelect(false) and it does work, although we will have lost update issues as detailed in Steve's article.
My questions:
1). Is overriding doSelect() the correct thing here? Perhaps there is a better way of handling this problem? I do have a base EO class from which all of the EO's extend, so adding this behavior should be straightforward.
2). Does anyone have example doSelect implementation? I am thinking of overriding doSelect for my EO and calling super.doSelect (lock=false), but then I need to deal with some possible exceptions, no?
Kind regards,
JohnHi John,
I have exactly the same issue as you experienced back in January. I have a complex data modelling requirement which requires the need to pivot rows into columns using ROW_NUMBER() and PARTITION clauses. To hide the complexity from the middle tier, I have created a database view and appropriate INSTEAD OF triggers and mapped my EO to the view. I have overriden the lock() method on the EO implementation class (to avoid ORA-02014) and would like to try the same solution you used with the pl/sql call to lock the record.
My question is, how did you manage the release of the lock if the transaction was not rolled back or committed by your application i.e. if the user closed the browser for instance.
In my naivity, I would like to think that the BC4J framework would release any locks for the database session when it found the servlet session to be terminated however my concern is that the lock would persist and cause complications.
Any assistance greatly appreciated (if you would be willing to supply your lock() method and pl/sql procedure logic I would be even more grateful!).
Many thanks,
Dave
London -
Editable views with instead of triggers in Oracle 10G
Hi,
We are attempting to migrate our database application from Oracle 9i to Oracle 10G. We have found that we are getting the error [ORA-03113 end-of-file on communication channel] when we attempt to insert multiple rows into database tables using editable views equipped with INSTEAD OF triggers. When inserting multiple rows, we are using a single insert statement of the form insert into...select from. Strangely enough, when the select query within the insert statement returns a single row, the insert statement is successful. We also noticed that if we issue a commit right before executing the insert statement, the insert statement is successful regardless of the number of rows being inserted. But this is not a viable workaround as the current transaction contents needs to be maintained. We did not have these issues in Oracle 9i. Does Oracle 10G have any known issues with editable views equipped with INSTEAD OF triggers? Are there any settings in the INIT.ORA file that can resolve these issues? Thanks for your help.Confirmed. If you use 2D input, or change the Z dimensions so they are different, you will get the results you expect in 10g. Otherwise - a line.
I'm not sure why, and can't see a bug report on that in support, but obviously it was recognized and fixed as you indicate.
Try it with 2D input, and it will work:
select sdo_aggr_mbr(
SDO_GEOMETRY(2003, NULL, NULL, SDO_ELEM_INFO_ARRAY(1, 1003, 3),
SDO_ORDINATE_ARRAY(-10, -10, 10, 10))
from dual;
Or with different Z values:
select sdo_aggr_mbr(
SDO_GEOMETRY(3003, NULL, NULL, SDO_ELEM_INFO_ARRAY(1, 1003, 3),
SDO_ORDINATE_ARRAY(-10, -10, 1, 10, 10, 11))
from dual -
BUG? VIEWS with INSTEAD OF triggers are updatable????
When I try to update the view created with the PL/SQL code from
below, with an infobus data form generated by JDev wizards , i
ontain this error "ORA-22816: unsupported feature with RETURNING
clause"
Below this text are an plus80 sql text file, producing the same
error and creating the database environment required.
It creates :
.-2 tables,
.-2 sequences
.-a joined view of this 2 tables
.-an "instead of insert" trigger on the view
Demostrating the correctness of this code there are a
normal insert alone, and a pl/sql block producing the same kind
error from plus80.
If you generate the form to edit this view, it produces the same
error when trying to do an insert, that the error produced by
this sql file.
--------------------------------------------cut here
drop sequence suf_seq;
CREATE SEQUENCE SUF_SEQ
NOMAXVALUE
NOMINVALUE
NOCYCLE
NOCACHE
drop sequence fam_seq;
CREATE SEQUENCE FAM_SEQ
NOMAXVALUE
NOMINVALUE
NOCYCLE
NOCACHE
DROP TABLE SUBFAMILIAS CASCADE CONSTRAINTS;
CREATE TABLE FAMILIAS
(ID NUMBER(6,0) NOT NULL
,DESCRIPCION VARCHAR2(50) NOT NULL
,ACTIVO NUMBER(38)
,USERALTA VARCHAR2(15)
,FECHAALTA DATE
,USERMOD VARCHAR2(15)
,FECHAMOD DATE
DROP TABLE FAMILIAS CASCADE CONSTRAINTS;
CREATE TABLE SUBFAMILIAS
(ID NUMBER(6,0) NOT NULL
,FAM_ID NUMBER(6,0)
,DESCRIPCION VARCHAR2(50) NOT NULL
,ACTIVO NUMBER(38)
,USERALTA VARCHAR2(15)
,FECHAALTA DATE
,USERMOD VARCHAR2(15)
,FECHAMOD DATE
set serveroutput on;
create or replace view test ( fam_id , suf_id , fam_descripcion
,suf_descripcion) as
Select fam.id,suf.id,fam.descripcion,suf.descripcion
from familias fam,subfamilias suf
where fam.id=suf.fam_id;
CREATE OR REPLACE TRIGGER test_insert
INSTEAD OF INSERT
ON test
declare
auxFam_Id familias.id%type;
auxSuf_Id subfamilias.id%type;
begin
select fam_seq.nextval,suf_seq.nextval into
auxFam_id,auxSuf_id from dual;
insert into familias(id,descripcion) values
(auxFam_id,:NEW.fam_descripcion);
insert into subfamilias(id,fam_id,descripcion)
values(auxSuf_Id,auxFam_id,:NEW.suf_descripcion);
end;
show errors;
/* here is a non returning insert everything works ok */
insert into test(fam_descripcion,suf_descripcion) values
('familia test 1','subfamilia test1');
declare
aux RowId;
-- aux subfamilias.id%type;
begin
insert into test(fam_descripcion,suf_descripcion) values
('Familia test 2','Subfamilia test 2') returning RowId into aux;
dbms_output.put_line(aux);
--select * from subfamilias;
--delete from subfamilias;
end;
-------------------------cut here
nullAre INSTEAD OF triggers the only way to insert/update
information from a form using a view that combines
fields from two different tables? My goal is to try
to get away from using so many triggers and contain
as much as I can within HTML DB. Is this really the
only way?While you might be intimidated by the seeming complexity of an instead-of trigger, in the long run you'll be glad to dug in and did it the right way. The instead-of trigger is a thing of beauty where databases are concerned.
One thing to be careful about: when you attach a trigger to a view and recompile the view, if it has 'CREATE OR REPLACE' in the definition, any triggers defined for the view will be lost. All your hard work creating that elegant trigger could be gone in a keystroke.
Either use 'CREATE' without the 'OR REPLACE' or save a copy in your script repository or someplace safe so you can recreate it the event that it 'goes away' unexpectedly.
As always, this is only my experience. Your mileage may vary. Perhaps you're smarter than me and have a nice trick you'd like to share for preserving such things in a more elegant way??
Earl -
View with instead of trigger still not updatable
Hi everybody,
could somebody explain how to make this view updatable?
I have the following log:
CREATE OR REPLACE FORCE VIEW BRS_V_VERPLICHTINGEN
(VERPLICHTING_NR
,ONTSTAANSJAAR
,OMSCHRIJVING
,DATUM_VERANTWOORDING
,OBJECT_NR
,OBJECT_NAAM
,CDG_CODE
,TMA_CODE
,CREATED_BY
,CREATION_DATE
,LAST_UPDATED_BY
,LAST_UPDATE_DATE)
AS SELECT vw_brs_verplichting.verplichting_nr
, vw_brs_verplichting.ontstaansjaar
, nvl( brs_verplichtingen.omschrijving, vw_brs_verplichting.verplichting_oms
, vw_brs_verplichting.datum_verantwoording
, vw_brs_verplichting.object_nr
, vw_brs_verplichting.object_naam
, brs_verplichtingen.cdg_code
, brs_verplichtingen.tma_code
, brs_verplichtingen.created_by
, brs_verplichtingen.creation_date
, brs_verplichtingen.last_updated_by
, brs_verplichtingen.last_update_date
FROM vw_brs_verplichting
, brs_verplichtingen
WHERE vw_brs_verplichting.vervallen_code = 'N'
AND vw_brs_verplichting.verplichting_nr = brs_verplichtingen.verplichting_nr
AND vw_brs_verplichting.ontstaansjaar = brs_verplichtingen.ontstaansjaar
View created
CREATE OR REPLACE TRIGGER BRS_VVG_IRU
INSTEAD OF UPDATE
ON BRS_V_VERPLICHTINGEN
BEGIN
brs_vvg_pck.instead_of_row_update( :new.verplichting_nr
, :new.ontstaansjaar
, :new.omschrijving
, :new.cdg_code
, :new.tma_code
END ;
Trigger created
SELECT COLUMN_NAME
, INSERTABLE
, UPDATABLE
, DELETABLE
FROM USER_UPDATABLE_COLUMNS
WHERE TABLE_NAME = 'BRS_V_VERPLICHTINGEN'
COLUMN_NAME INSERTABLE UPDATABLE DELETABLE
VERPLICHTING_NR YES YES YES
ONTSTAANSJAAR YES YES YES
OMSCHRIJVING NO NO NO
DATUM_VERANTWOORDING YES YES YES
OBJECT_NR YES YES YES
OBJECT_NAAM NO YES NO
CDG_CODE NO YES NO
TMA_CODE NO YES NO
CREATED_BY NO YES NO
CREATION_DATE NO YES NO
LAST_UPDATED_BY NO YES NO
LAST_UPDATE_DATE NO YES NO
12 rows selected
But that one column still isn't updatable... however because i'm using an INSTEAD OF UDPATE trigger they should all be updatable, shouldn't they?
I'm using the 10g database...
Hope someone can help...
Regards,
RobertJustin,
you might try to grant the views to the FLOWS_xxxxx user, which performs the Apex processes.
Dik Dral -
Returning newly created IDs from View with Instead Of
Hi All,
I have the following table:
CREATE TABLE TBLSIM_SUPPLIER_H
"SS_ID" NUMBER(10,0) NOT NULL ENABLE,
"SS_GUID" NVARCHAR2(36) NOT NULL ENABLE,
"SS_NAME" NVARCHAR2(50) NOT NULL ENABLE,
"SS_H_IS_ACTIVE" NUMBER(1,0) DEFAULT 1 NOT NULL ENABLE,
"SS_H_RE_ID" NUMBER(10,0) NOT NULL ENABLE,
"SS_H_DATE" DATE DEFAULT SYSDATE NOT NULL ENABLE,
"SS_H_MASTER_ID" NUMBER(10,0),
CONSTRAINT "TBLSIM_SUPPLIER_PK" PRIMARY KEY ("SS_ID") ENABLE,
CONSTRAINT "TBLSIM_SUPPLIER_FK_M_ID" FOREIGN KEY ("SS_H_MASTER_ID") REFERENCES "TBLSIM_SUPPLIER_H" ("SS_ID") ENABLE
)on which is enabled this trigger
CREATE OR REPLACE TRIGGER TBLSIM_SUPPLIER_H_TRG BEFORE
INSERT ON TBLSIM_SUPPLIER_H FOR EACH ROW BEGIN <<COLUMN_SEQUENCES>> BEGIN IF :NEW.SS_ID IS NULL THEN
SELECT TBLSIM_SUPPLIER_H_SEQ.NEXTVAL INTO :NEW.SS_ID FROM DUAL;
END IF;
IF :NEW.SS_GUID IS NULL THEN
:NEW.SS_GUID := UTILITYPKG.formatted_guid;
END IF;
END COLUMN_SEQUENCES;
END;UTILITYPKG.formatted_guid returns a standard 36chr GUID
I then created a view
CREATE OR REPLACE FORCE VIEW TBLSIM_SUPPLIER
AS
SELECT SS_ID,
SS_GUID,
SS_NAME,
SS_H_IS_ACTIVE,
SS_H_RE_ID,
SS_H_DATE
FROM TBLSIM_SUPPLIER_H
WHERE (ss_h_is_active = 1);on which I enabled the trigger
CREATE OR REPLACE TRIGGER TBLSIM_SUPPLIER_INS INSTEAD OF
INSERT ON TBLSIM_SUPPLIER FOR EACH ROW
BEGIN
INSERT INTO TBLSIM_SUPPLIER_H (ss_name, ss_h_is_active, ss_h_re_id, ss_h_date)
VALUES (:NEW.ss_name, 1, :NEW.ss_h_re_id, SYSDATE);
END TBLSIM_SUPPLIER_INS;I then have a stored Procedure
PROCEDURE SimSupplier_Create(
cur_tblresource_id_in IN tblresource.re_id%TYPE
, ss_name_in IN tblsim_supplier.ss_name%TYPE
, ss_id_out OUT tblsim_supplier.ss_id%TYPE
, ss_guid_out OUT tblsim_supplier.ss_guid%TYPE
) AS
BEGIN
INSERT INTO tblsim_supplier (
, ss_name
, ss_h_re_id
VALUES (
, ss_name_in
, cur_tblresource_id_in
RETURNING ss_id, ss_guid INTO ss_id_out, ss_guid_out;
END SimSupplier_Create; What happens is that the RETURNING clause is not available.
Any way of getting the ID & GUID of the just inserted record out of the prcedure?
Thanks
AndreaWhy do you need this instead of trigger? Can't you simply insert into the view? Maybe enable WITH CHECK OPTION to prevent wrong values beeing entered via the view. Or simply insert into the table and not the view. As long as it is done in the procedure, you are safe that there is no priviledge confict.
Edited by: Sven W. on Oct 17, 2012 5:38 PM -
View with Instead of Trigger - ORA-01031
I am having trouble with a form based on a view that uses an instead of trigger.
When I attempt to update a complex view that uses instead of triggers in an APEX form, I get the following message:
ORA-20001: Error in DML: p_rowid=21388, ... ORA-01031: insufficient privileges
The view works correctly when updates are executed from SQL Plus.
The view "VW" is based on several tables in the application schema "X", which is parsed by APEX, and several tables in another schema "Z". I have explicitly granted select permission on the tables in schema "Z" to schema "X", but this doesn't resolve the error.
Any idea how to fix this problem? From reading other posts, it sounds like the only issue should be explicit grants on the tables in other schemas. I do not attempt to update the tables in schema "Z", and do not have update permissions to those tables.
Sinerely, JustinJustin,
you might try to grant the views to the FLOWS_xxxxx user, which performs the Apex processes.
Dik Dral -
Problem updating view with triggers
I created a view with instead-of triggers for updating. When I try to update the view with an ADO 2.7 recordset I receive errormessages.
rsAns.CursorLocation = adUseServer
rsAns.Open "select * from callcenter.v_ans where kidno = 1534", adoConn, adOpenKeyset, adLockOptimistic
rsAns.fields("Name").value = "Thomas"
The last line creates the error:
-2147217888
Consumer's event handler called a non-reentrant method in the provider.
When I try the same lines of code with...
rsAns.CursorLocation = adUseClient
I get:
-2147217887
Multiple-step operation generated errors. Check each status value.
By the way, when using client side cursors with Microsoft's OLE DB for Oracle it works fine.
Any ideas?I had the same problem but without triggers. I only changed some values in different records (always automatically commited) and after the third change I got this error message. At the same time I was connected with TOAD to the databse and there was no problem to change the data - so it doesn't look like a database problem.
UPDATE "BLATABLE"."KEYS" SET "BLAVALUE" = "abcdef" WHERE ROWID = 'AAA2c1AADAAAHa5AAH' AND ORA_ROWSCN = '7738949481842'
One error saving changes to table "BLATABLE"."KEYS":
Row 6: ORA-01000: maximum open cursors exceeded -
"Complete" instead of "Delete" from calendar
It would be great to be able to take a reminder of the active standby screen on my phone without deleting the appointment from my calendar. I would like to have a record of the appointment in the phone and on OVI even though I have already completed the appointment or other activity.
Bytes of storage space are not that expensive.In regards to why Im using a view - its discussed here...
Crazy Union across 3 tables
The view im using is not updatable - it uses a union. I use "instead of triggers" to trick my application into thinking its a real table which is insertable. And this works fine.
Im having trouble tricking my application into think that the delete was successful, because the "instead of delete" trigger doesnt actually delete anything - which is what i wnat - but i want it to report back to the caller that a delete occurred.
I want the SQL%ROWCOUNT to be set to 1 or whatever. Perhaps this is not hte variable, but im hoping there is some variable I can set which is used to report back to the client as to how many records were deleted.
thx. -
Form with view having instead-of-trigger gives FRM-40501 and ORA-02014
I created a data-entry from with a 'view' as datas-source block. This view gives crosstab query results with a data from a single base-table but it is complex and uses decode and aggregate funciton 'max' just to create group by in a crosstab query. I have created a instead of trigger on this view to update or insert a record in base table. A test to update base table works fine at SQl prompt. A test to insert at SQL shows '1 row created' but in fact when I query the database, it does not show newly inserted row. Also, when I compile and run this form, I get FRM-40501 and ORA-02014. Help!!!
I know that DML operations on a view with DECODE, aggregate functions or group by can not be performed but I thought the "instead of" trigger on the view to update the base table should eleminate this restriction and hence pusued further but now stuck!
BTW: I can post details of base table, view, and instead of trigger, if you want to see them to further decipher the problem. Just let me know. Thanks!
VERSIONS: Forms in developer suite v10.1.2.0.2 on Windows XP 64 bit desktop - ; Backend database: 9.2.0.8 on Windows 2003 EE server
Edited by: user8647268 on Aug 19, 2009 1:19 PM
Edited by: user8647268 on Aug 19, 2009 1:25 PMI just forgot to ask you one question: In my experience with forms, I have captured before_value and after_value and implemented logic based on results many times. This form I am working on is kinda first multi-record form where I have a tabular page with date and about 7 other columns forming a grid of cells, which users wanted. Each line is a record from a view. I tried relying on forms to do DML on underlying table and since the underlying table is a paritioned table, I ran into FRM-40509 and ORA-00936, where returning ROWID becomes problematic. I found a note 167550.1 which says to set Key mode to 'Updateable' or 'Non-Updateable' but not 'Unique' or 'Automatic' as a solution #1. Solution#1 failed i.e. the errors persisted. The note also says in that case, implement Solution #2, which is to write explicit trigger to do each of the DML on view. Here I run into kinda problem: In a tabular form with say 31 records each row having 7 cells which is like capturing 217 before values..that is too many. Addressing them with ':old.xxx' or ':new.xxx' which works in instead of trigger, does not work in trigger inside forms. Without checking these before and after values, it inserts rows with nulls for empty cells where we wnated it to skip and do nothing. So iam looking for a way to capture before value using some kinda standard form mechanism..Do you have any suggestions! (Sorry for long explanation but that is the only way to do it..)
Maybe you are looking for
-
HT201317 The photo stream flower icon is not showing up on my icloud account?! Why?
The photo stream flower icon is not showing up on my icloud account. The only icons are Mail, contacts, calendar and iwrok. What can I do??
-
How do i copy a thread in text messages and copy into a note pad app?
how do i copy a thread in text messages and copy into a note pad app?
-
Programmatic creation of Oracle 10gAS Release 2 general mod_plsql DADs
Hi Everyone, We use Oracle Application Server 10gAS version 10.1.2.3.0 and as part of our setup we create and use General type DADs. (Created within Enterprise Manager, under HTTP Server --> Administration tab --> PL/SQL Properties --> DADs. My quest
-
Hello Gurus, I have Created Many Material Master Number in SAP. Now I want to Find Out that which Materials are Used in SAP At least In Single transaction and Which Materials are still Unused in SAP. I am Waiting Your reply. Regards, Riten Patel.
-
CRIO9074 RT jitter every 10 sec. when writing data to SD card through 9802 module
Hi, I am trying to use cRIO 9074 to collect data from different sensors at 50Hz and log the data to SD card plugged in 9802 module. I use FPGA- scan interface hybrid mode because some sensors are just based on analog signals and others(i.e.. IMUs)