【发布时间】:2021-03-07 15:44:45
【问题描述】:
我有一个数据库,其中每个公司都有自己的表,并且所有公司的表名都相同,例如:
[COMPANY 1$Cities], [COMPANY 1$Customers], [COMPANY 1$Documents]
[COMPANY 2$Cities], [COMPANY 2$Customers], [COMPANY 2$Documents]
[COMPANY 3$Cities], [COMPANY 3$Customers], [COMPANY 3$Documents]
当我从特定公司选择一个值时,我有一个可以正常工作的存储过程。
但是,问题是我必须为我们在数据库中拥有的每个公司创建这个存储过程,而且数量很多(而且我认为这不是最好的决定,基于数据库性能)
最后,我想知道是否可以使用 TABLE NAME 中的参数从特定公司中选择值。
类似SELECT +@CityName+ FROM [dbo].[@CompanyName+$Cities]
【问题讨论】:
-
您可以为单独的公司表创建单独的模式。但是,如果您共享存储过程的脚本和示例数据来模拟,可以更好地解释您的问题
-
修复你的数据模型!这就是开始的地方。
-
如果你不能修复它,总是有动态 SQL,这是一个复杂的主题,我建议你谷歌并做一些阅读。
-
我无法更改数据模型上的任何内容,它是我们使用的 ERP 的标准配置:(
标签: sql sql-server database dynamic