perl 5.10 访问 2010 SqlServer 2008 R2
所以我需要用表 B 中的数据更新表 A 中的一列,其中 A 和 B 有一个我可以加入的列。
这会很好用
$sqlCmd = "UPDATE aa SET aa.foo = bb.fancyfoo " .
"FROM [dbo.serverOne] AS aa " .
"RIGHT JOIN [noteTable] AS bb " .
"ON aa.[recid] = bb.[recid] " ;
$sth = $dbh->prepare( $sqlCmd);
如果两个表都在同一个数据库中,因为只有一个数据库句柄在使用。但是我的表驻留在不同的数据库中,实际上在不同的服务器中——dbo.ServerOne 驻留在 SqlServer 的实例中,而 noteTable 驻留在 Access 数据库中(抱歉)。
对于额外添加的香料,bb.fancyfoo 被定义为 MEMO,aa.foo 被定义为 nvarchar(max)
坦率地说,我看不出这是如何一次性实现的——一个 sql 命令可以使用多个数据库句柄吗?如果不是,我必须使用两个单独的命令,即 dbo.ServerOne 上的 UPDATE 和 noteTable 上的 SELECT,如何设置它以适用于 MEMO/nvarchar(max) 字段?我的意思是,我应该如何将数据存储在表之间?克洛布?
TIA,
仍在学习的史蒂夫