c# - How to pass absolute database name,server name as parameter? -
i have requirement need select data database db1
, insert database db2
.
update [server1\sqlexpress].[db1].dbo.table1 set cname = (select cname [server2\sqlexpress].[db2].dbo.table1 cid = 3)
so above script working fine.
now want pass
[server1\sqlexpress].[db1] [server2\sqlexpress].[db2]
as parameters, because server name , database can different in real time environment.
can tell me how achieve below goal?
create procedure @cid numeric, @servername1 serverdatatype, @servername2 serverdatatype, @dbname1 dbdatatype, @dbname2 dbdatatype update @servername1.@dbname1.dbo.table1 set cname = (select cname @servername2.@dbname2.dbo.table1 cid = @cid)
try in fashion:
declare @servername1 varchar(max) = 'myserver' declare @db1 varchar(max) = 'mydb' exec('update ' + @servername1 + '.' + db1 + '.dbo.table1 set cname= (select cname ' + @servername1 + '.' + db1 + '.dbo.table1' cid ='+ @cid)
Comments
Post a Comment