perl 5.10 アクセス 2010 SqlServer 2008 R2
したがって、テーブル A の列をテーブル B のデータで更新する必要があります。ここで、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);
有効なデータベース ハンドルが 1 つしかないため、両方のテーブルが同じデータベース内にある場合。しかし、私のテーブルは別のデータベースに存在し、実際には別のサーバーに存在します。dbo.ServerOne は SqlServer のインスタンスに存在し、noteTable は Access データベースに存在します (申し訳ありません)。
さらにスパイスを加えるために、bb.fancyfoo は MEMO として定義され、aa.foo は nvarchar(max) として定義されます。
率直に言って、これが 1 回のパスでどのように達成されるかわかりません。SQL コマンドで複数の db ハンドルを使用できますか? そうでない場合、dbo.ServerOne での UPDATE と noteTable での SELECT という 2 つの別個のコマンドを使用する必要があります。MEMO/nvarchar(max) フィールドで機能するように設定するにはどうすればよいですか? つまり、テーブル間にデータを保存するにはどうすればよいですか? CLOB?
ティア、
まだまだ勉強中のスティーブ