首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从数据库表中读取集

从数据库表中读取集
EN

Stack Overflow用户
提问于 2014-10-11 20:18:09
回答 1查看 273关注 0票数 1

我有两个集AB,集合B依赖于集合A

代码语言:javascript
运行
复制
set A;
set B{A};

在我的数据库中,我有两个表--带有主键的A_Table和带有复合键b_id的表B_Tablea_id (外键)。我尝试从B_Table表中读取数据,以使用以下脚本设置B

代码语言:javascript
运行
复制
table B_Table IN "ODBC" (ConnectionStr) "B_Table":
   [b ~ b_id, a ~ a_id], B[a] ~ b;

但这个剧本不管用。它写

代码语言:javascript
运行
复制
syntax error
context:  [b ~ b_id, a ~ a_id],  >>> B[ <<< a] ~ b;

我怎么能从一个有一个一维集合的2键的表中读取数据呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-12 16:35:49

我不认为您可以使用单个表声明直接将数据读入索引集,但是您可以使用助手二维集合:

代码语言:javascript
运行
复制
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选择数据。

代码语言:javascript
运行
复制
table B_Table{a in A} IN "ODBC" (ConnectionStr)
  ("SQL=SELECT b_id FROM B_Table WHERE a_id = " & a & ";"):
   B[a] <- [b_id];

或者类似的东西。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26318879

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档