0

バッチ ファイルを介してトリガーされるテーブル作成スクリプトにパラメーター (日付) を渡す必要があります。私は使用SQLCMDしましたが、コードは次のとおりです

バッチ

for /f "tokens=1-4 delims=/:." %%a in ("%TIME%") do (
       set hh=%%a&set nn=%%b&set ss=%%c&set ms=%%d)
echo "timeset"   
set V_TIMESTAMP=%yyyy%%mm%%dd%
echo %V_TIMESTAMP%

sqlcmd -E -S %V_SERVER% -d %V_DATABASE% -b -i %V_SQL_SCRIPT%  -v timestmp=%V_TIMESTAMP%

SQL

CREATE TABLE [dbo].[tblname_'($timestmp)'](
[PKCol1] [int] NOT NULL)

私が見るところ、出力は名前のテーブルであるはずtblname_20131022ですが、私が見るのは名前で作成されたテーブルですtblname_'($timestmp)'

私が行ったことに何か問題がありますか?提案してください。

ありがとう、ビバブ

4

1 に答える 1

0

CREATE TABLE ステートメントでは、ドル記号 ($) は括弧の外にある必要があります...そして引用符を取り除きます:

CREATE TABLE [dbo].[tblname_$(timestmp)](
[PKCol1] [int] NOT NULL)
于 2013-10-22T20:55:55.173 に答える