如何通过另一个表来处理atable的更新? [英] How to handle updation of atable via another table?

查看:56
本文介绍了如何通过另一个表来处理atable的更新?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆