-2

私はExcelの連結を使用してSQL挿入ステートメントを生成していますが、以下のSQL値の連結を定義するのは非常に難しいと思います...誰かアドバイスできますか?使用する連結式について?

VALUES ( 
NEWID(),'ABC', 'ABC', 'ABC', 'abc', 'abc', 'abc', NULL,  CONVERT(datetime, '1999/01/01',     101)
,  CONVERT(datetime, '1999/12/31', 101), 1, 0, 1, LOWER(NEWID())
, 'abc',  getdate(), 'system'
,  getdate());
4

2 に答える 2

0

ExcelがSQL関数を解釈/評価しようとしている場合は、このアプローチではうまくいかない可能性があります。

ストアドプロシージャに挿入SQLを設定してから、Excelファイルにストアドプロシージャの呼び出しを生成させてください。このようなもの:

spInsertRecord('ABC', 'ABC', 'ABC', 'abc', 'abc', 'abc', NULL,... etc)

このようにして、埋め込まれたコマンドの誤解に関する問題に遭遇することはありません。

お役に立てれば。

于 2012-10-17T19:35:24.573 に答える
0
="INSERT SOMETABLE VALUES ( \
NEWID(),'" & A2 & "', '" & B2 & "', 'ABC', 'abc', 'abc', 'abc', NULL, \
CONVERT(datetime, '1999/01/01',     101) \
,  CONVERT(datetime, '1999/12/31', 101), 1, 0, 1, LOWER(NEWID()) \
, 'abc',  getdate(), 'system' \
,  getdate());"

注:\上記の場合、行が次の行に結合することを意味します。数式全体は 1 行に収める必要があります。

「ABC」の最初の 2 つの固定値を、シートのセルであるA2に置き換えました。セルの値自体に一重引用符を含めることができる場合は、より複雑になり、SUBSTITUTE を追加して二重にする必要があります。例えばB2X2

="INSERT SOMETABLE VALUES ( \
NEWID(),'" & SUBSTITUTE(A2,"'","''") & "', '" & B2 & "', 'ABC', 'abc', 'abc', 'abc', NULL, \
于 2012-10-17T21:18:13.643 に答える