我有两个集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
复制相似问题