![]() |
1
9
所以看起来您使用多个模式来传递存储信息,同时保持对象名称的一致性,每个存储只有一个模式,是吗?以及某种连接/用户魔法,以便查询能够访问正确的视图。
,假定存储视图包含基表中的所有列 StoreId,与基表处于相同的序号位置,并且没有其他列:
如果向基表中添加列,则必须更新所有存储视图以包含该列,否则触发器将中断。 ,假定与(1)相同,但StoreId包含在store视图中:
与hack#1相比,hack#2的好处在于,您可以使用
不然呢 ,最好的方法是编写触发器脚本。这是一个相当直接的过程,一旦您熟悉了系统表,就可以调整触发器的生成。因此,您还应该编写商店视图的脚本。 为了让您开始:
|
![]() |
2
2
所以, 我说得对,每个商店都有自己的ID。DB部署到每个商店,DB应该根据部署的位置记录不同的StoreId,只需最少的代码工作。这是我的建议。在数据库中创建一个表来保存StoreId。创建一个函数来检索该StoreId。然后在每个表中创建StoreId列作为使用该函数的计算列。因此,在每个部署中,唯一的更改是更新一个表中的StoreId。比如:
|
![]() |
3
2
您可以尝试将AFTER INSERT、UPDATE触发器作为INSTEAD-OF触发器的替代方法
|
![]() |
4
0
只是被这个老问题绊倒了:
|
![]() |
Duvan · 将逗号(,)替换为点(.)[副本] 2 年前 |
![]() |
Mateen Bagheri · 选择表的计数并选择其自身 2 年前 |
![]() |
SoT · SQL Server中求和函数的工作方式 2 年前 |
![]() |
NKAT · 将列值聚合到列表中会产生错误 2 年前 |
![]() |
deanpillow · 返回两列中有一个匹配值的记录 2 年前 |
![]() |
snowflakes74 · 在Dapper中异步查询多个结果 2 年前 |