如何通过另一个表来处理atable的更新? [英] How to handle updation of atable via another table?
问题描述
HELLO,
我有2张桌子
[1]资产(带PK AID的主表)
[2] asset_option(子表与PK AO_ID)
[3]我想在删除记录时设置资产表的bit = true(位列的默认值为false)
[4] I无法在where子句bcoz中分配AID它们是前端具有相同id的相同资产的多个条目,因此使用AO_ID仅删除单个记录。
< br />
Private Sub BtnDelete1_Click()< br />
SQL =UPDATE(SELECT A。*,S.AO_ID From Asset A,ASSET_OPTION S< br />
SQL = SQL +其中A.AID = S.AID AND AO_ID =& Text1.Text&)< br />
SQL = SQL +SET BIT ='' TRUE''< br />
RS.Open SQL,CON,1,2< br />
End Sub< br />
我也在后端做了这个,它显示错误
SET BIT =''TRUE''
*
第5行的错误:
ORA-01779:无法修改列n映射到非密钥保存的表
我用另一种方式尝试:
< pre lang =sql> 更新( SELECT A. BIT ,S.AO_ID FROM 资产A,ASSET_OPTION S WHERE A.AID = S. AID)D
SET D.BIT = ' TRUE' WHERE D.AO_ID =(value)
如果这不起作用,请发布你的CREATE TABLE脚本来帮助测试。
HELLO,
I m having 2 tables
[1] asset (master table with PK AID)
[2] asset_option(sub table with PK AO_ID)
[3] I wanna set bit = true of asset table whenever record deleted (default value of bit column is false)
[4] I cannot assign AID in where clause bcoz their are multiple entries of same asset with same id at front end so m using AO_ID for deleting only single record.
<br /> Private Sub BtnDelete1_Click()<br /> SQL = "UPDATE (SELECT A.*,S.AO_ID From Asset A, ASSET_OPTION S"<br /> SQL = SQL + " Where A.AID = S.AID AND AO_ID= " & Text1.Text & ")"<br /> SQL = SQL + " SET BIT=''TRUE'' "<br /> RS.Open SQL, CON, 1, 2<br /> End Sub<br />
I did this at back-end also,it shows error
SET BIT=''TRUE''
*
ERROR at line 5:
ORA-01779: cannot modify a column which maps to a non key-preserved table
I Tried using another way:
UPDATE (SELECT A.BIT,S.AO_ID FROM Asset A, ASSET_OPTION S WHERE A.AID = S.AID) D SET D.BIT='TRUE' WHERE D.AO_ID = (value)
If this doesn''t work, please post ur CREATE TABLE script to help in the tests.
这篇关于如何通过另一个表来处理atable的更新?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!