我设计了一个数据库,在该数据库中,多个公共模板表共享的全局表很少。
这个想法是针对我公司的每一位客户,我有一套特定于客户的表。这些表具有相同的结构,很少有全局表具有外键。
特定于客户的表有类似于表的名称,例如table1和table2。
现在,我想编写类似Sybase中允许的查询,如下所示。
parameter CUST;
select * from table{CUST};
output to table{CUST}.txt;上面的查询将作为交互调用
isql a.sql 1
isql a.sql 2请帮帮忙。
编辑,一旦我按照您的建议,我将得到所有表的2列主键,其中我有一个列主键,然后这些键没有自动递增选项。我知道你会建议一个错误的自动增量列,它的限制在理论上是没有界限的。
另外,现在每个客户每年大约有50,000到100,000次事务,当需要包含在业务文档中时,事务ID是可以管理的几位数。一旦有了全局表,这两个事务ID都会太长,否则它们都将以客户机ID作为前缀。管理太多了。另一个主要问题是需要行级安全检查/锁,以确保每个客户端只访问自己的记录。每个过滤器都会被更改等列表太长。
发布于 2014-12-29 13:20:21
你不能用参数化桌子的名字。为所有客户使用一个表,其中包含一个customer列,并使用查询中相应的位置。
例如:
select * form table where customer = @cust;https://stackoverflow.com/questions/27689568
复制相似问题