4

名前が中のテーブルがあり、列名が中の名前と作成日があり、上記の2つの値を挿入するストアドプロシージャを作成しました.belowは私のストアドプロシージャです

alter procedure insertmediumproc
    @MediumName varchar(50) ,@CreationDate datetime
as 
begin
    insert into medium  (MediumName, CreationDate) values(@MediumName,getdate())
end

以下のコマンドでテーブルに値を挿入しようとしたとき:

exec insertmediumproc Nepali,getdate()

以下にエラーが表示されています: メッセージ 102、レベル 15、状態 1、行 1 ')' 付近の構文が正しくありません。

4

3 に答える 3

3

CreationDate 列の値として常に現在の日付が必要な場合は、テーブルでデフォルトを使用し、@mediumnamn をパラメーターとして受け取るようにプロシージャを変更できます。または、次のように変更できます。

alter procedure insertmediumproc @MediumName varchar(50)
as begin
insert into medium (MediumName, CreationDate) values (@MediumName,getdate())
end

そうすれば、日付をパラメーターとして送信する必要はありません。

于 2013-03-28T11:12:17.790 に答える
1

あなたは周りの引用符を忘れましたNepali

exec insertmediumproc 'Nepali', getdate()

そして、挿入ステートメントは

insert into medium (MediumName, CreationDate) 
values (@MediumName, @CreationDate)

のみが必要な場合はdate、パラメーターの型を からdatetimeに変更できます。date

于 2013-03-28T11:09:05.900 に答える
1

構文エラーがあります - 適切なものを渡していませんVARCHAR- 値を引用する必要があります:

exec insertmediumproc 'Nepali',getdate()
于 2013-03-28T11:09:25.020 に答える