one view for 2 different tables
Dear my friends... I am developing a database application with postgres 7.2.x, qt on SuSE 9.1 . I am in a situation where I have to use QDataTable and I have to use QSqlCursor that support only 1 table manipulation ( QSqlCursor * cursor = QSqlCursor("viewpatrix", true, db); ). So, as a strategy I make a view. with this view I hope I can work with more than 1 table at a time. kv=# create view viewpatrix as select customer.custid, customerdescription.descr iption, customer.firstname, customer.lastname from customer, customerdescription where customer.custid=customerdescription.custid; but I have problems if I want to make data update and data insertion from the QDataTable because I don't know how the rule should be. kv=# create rule viewpatrixcustdesc as on update to viewpatrix do instead update customerdescription set description=new.description where custid=old.custid; CREATE RULE kv=# OK, it works if the user wants to update the data in table "customerdescription". should I simply create another rule like this: kv=# create rule viewpatrixcust as on update to viewpatrix do instead update customer set firstname=new.firstname, lastname=new.lastname where custid=old.custid; CREATE RULE kv=# But how to make that the user can I also update the data in the table "customer" (customer.firstname and customer.lastname). Is it possible to create one view but from updating/inserting the data in the coresponded rule than the records in more then 2 tables are also updated/inserted? Thank you very much for your help. __________________________________ Do you Yahoo!? New and Improved Yahoo! Mail - 100MB free storage! http://promotions.yahoo.com/new_mail
Am Montag, 2. August 2004 19:30 schrieb Prabu Subroto:
I am developing a database application with postgres 7.2.x, qt on SuSE 9.1 . I am in a situation where I have to use QDataTable and I have to use QSqlCursor that support only 1 table manipulation ( QSqlCursor * cursor = QSqlCursor("viewpatrix", true, db); ).
So, as a strategy I make a view. with this view I hope I can work with more than 1 table at a time. [...] Is it possible to create one view but from updating/inserting the data in the coresponded rule than the records in more then 2 tables are also updated/inserted?
http://www.postgresql.org/docs/7.2/interactive/sql-createrule.html [...] CREATE RULE name AS ON event TO object [ WHERE condition ] DO [ INSTEAD ] action where action can be: NOTHING | query | ( query ; query ... ) | [ query ; query ... ] [...] So you can add several insert or update statements using () or [] to group them. Jan -- Linux-Quickies: http://www.jan-trippler.de PingoS: http://www.pingos.org
participants (2)
-
Jan.Trippler@t-online.de
-
Prabu Subroto