我有两个集A
和B
,集合B
依赖于集合A
;
set A;
set B{A};
在我的数据库中,我有两个表--带有主键的A_Table
和带有复合键b_id
的表B_Table
和a_id
(外键)。我尝试从B_Table
表中读取数据,以使用以下脚本设置B
:
table B_Table IN "ODBC" (ConnectionStr) "B_Table":
[b ~ b_id, a ~ a_id], B[a] ~ b;
但这个剧本不管用。它写
syntax error
context: [b ~ b_id, a ~ a_id], >>> B[ <<< a] ~ b;
我怎么能从一个有一个一维集合的2键的表中读取数据呢?
发布于 2014-10-12 16:35:49
我不认为您可以使用单个表声明直接将数据读入索引集,但是您可以使用助手二维集合:
set AB dimen 2;
table B_Table IN "ODBC" (ConnectionStr) "B_Table":
AB <- [a_id, b_id];
read table B_Table;
let{a in A} B[a] := setof{(a, b) in AB} b;
另一个选项是在A
上对表声明进行索引,并使用SQL语句为a in A
选择数据。
table B_Table{a in A} IN "ODBC" (ConnectionStr)
("SQL=SELECT b_id FROM B_Table WHERE a_id = " & a & ";"):
B[a] <- [b_id];
或者类似的东西。
https://stackoverflow.com/questions/26318879
复制相似问题