我有一个存储过程,我使用Insert语句插入表中,即
INSERT INTO [dbo].[Development$Call]
我想为生产系统使用相同的存储过程。
是否可以在存储过程中将Development$Call
动态更改为Production$Call
或编程?
如果我在开发或生产机器中运行相同的存储过程,则会在insert语句中自动替换文本到Development或Production
请建议是否有可能。如果可能的话我怎么能实现呢?
谢谢
答案 0 :(得分:0)
您可以创建如下所示的映射表。
MAPPINGTABLE
**ServerName Environment**
PRODServer PRODUCTION
DEVServer DEVELOPMENT
将此代码段添加到存储过程中。 @@ Servername返回当前的servername。将其传递给您的映射表以获取环境。
IF (SELECT Environment from MappingTable where ServerName=@@SERVERNAME)='DEVELOPMENT'
INSERT INTO [dbo].[Development$Call]
....
ELSE
INSERT INTO [dbo].[Production$Call]
....