ユーザー定義変数を使用して、SQLCMD を使用してバッチ ファイルを介して SP をトリガーすることにより、ストアド プロシージャを機能させようとしています。ハードコーディングされた変数を使用してこの方法でテストしたため、ストアド プロシージャが機能することは既に確認できます。参考までに、これはバッチ ファイルのコードです。
SET /P Param1 = Enter job number here:
SET /P Param2 = Enter number for current status here:
sqlcmd -S DevTest -d test_database -Q "EXEC dbo.JStatUpd @jobNum = Param1, @stat = Param2"
PAUSE
(編集:参照しやすいように、sqlcmd行をそのまま残しました。)
私の問題は、ユーザー定義変数の操作にあります。具体的には、ユーザー定義変数の変換で問題が発生しています。変数は両方とも整数でなければなりません。SET
すべての変数が として自動的に入力されることは認識していますが、それらを;nvarchar
に変換する方法を見つけることができませんでした。int
CAST または CONVERT を使用して試行するたびにエラーが発生しました。
私の質問は: SQLCMD インライン クエリ内で CAST または CONVERT を使用して変数を変換することは可能ですか? それとも、別の方法を使用する必要があるときに、これを間違った方法で行っていますか?