如何进行外键关联?
有两个表P和F。P.a是主键(a是serial字段),F.a是外键。要在P和F中各插入一条相关联的记录。顺序应该是:先插入P再插入F。
这样有个问题就是我必须要在插入P表后,取得新插入的a字段的值,再把这个值插入到F表中。这样才能关联起来。
请问有什么办法可以得到a的值吗? select dbinfo('sqlca.sqlerrd1') from systables where tabid = 1;
也许对你有用~~
回复 #2 liaosnet 的帖子
谢谢!这个方法应该是和select max(a) from P 的结果是一样的吧。有个问题是这样就只对单进程有效,如果有两个进程同时在执行,就可能读到另一个进程插入的数据,这样就会出现混乱。
回复 #3 iceiceberg 的帖子
额..所以呢...建议使用程序实现..而不是简单的使用SQL处理.. select * from a,b where c=(select max(c) from a)这种有效没:shock:
回复 #5 lrg223 的帖子
每次做操作都要查一次表..这样有效率可言吗??回复 #5 lrg223 的帖子
这种两个程序并行做也会有问题的。
页:
[1]