[解決済み] SQL関数をデフォルトのパラメータ値として使用できますか?
2022-09-05 03:01:48
質問
これでデフォルトのパラメータ値を変更してみました。
ALTER PROCEDURE [dbo].[my_sp]
@currentDate datetime = GETDATE()
で、SQLプリコンパイラが出したのは、このエラーだけでした。
Msg 102, Level 15, State 1, Procedure my_sp, Line 8 '(' の近くに不正な構文があります。
プロシージャはすでに作成済みです。(それが関係あるかどうかはわかりません。) NULL デフォルト値を使用し、後でそれをチェックしていましたが、それは適切ではないようです。これを1行で行うことは可能でしょうか?
更新:私は MSDN のストアドプロシージャのパラメータに関する説明です。 :
[ = default ] パラメータのデフォルト値です。デフォルト値が定義されている場合、そのパラメータに値を指定しなくても関数を実行することができます。
注意
varchar(max) と varbinary(max) データ型を除く CLR 関数には、デフォルトのパラメータ値を指定することができます。関数のパラメータがデフォルト値を持つ場合、デフォルト値を取得するために関数を呼び出す際にキーワードDEFAULTを指定する必要があります。この動作は、パラメータを省略するとデフォルト値も意味するストアドプロシージャでデフォルト値を持つパラメータを使用する場合とは異なります。
私はこれを間違って読んでいるのでしょうか?
ありがとうございます。
どのように解決するのですか?
ストアドプロシージャのパラメータのデフォルト値は、必ず 定数 . 以下のようにする必要があります....
ALTER Procedure [dbo].[my_sp]
@currentDate datetime = null
AS
IF @currentDate is null
SET @currentDate = getdate()
関連
-
[解決済み] ストアドプロシージャ 'dbo.aspnet_CheckSchemaVersion' が見つかりませんでした。
-
[解決済み] SQL ServerでSELECTからUPDATEする方法とは?
-
[解決済み] PHPでSQLインジェクションを防ぐにはどうしたらいいですか?
-
[解決済み] SQLテーブルで重複する値を検索する
-
[解決済み] SQL Server で複数行のテキストを 1 つのテキスト文字列に連結する方法
-
[解決済み] SQL Server の DateTime データ型から日付だけを返す方法
-
[解決済み] SQLのSELECTでIF...THENを実行するにはどうすればよいですか?
-
[解決済み] SQL Serverでストアドプロシージャ内のテキストを検索する
-
[解決済み] SQL Serverにおける関数とストアドプロシージャの比較
-
[解決済み】SQL Serverで既存のテーブルにデフォルト値を持つカラムを追加する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
解決策:java.sql.SQLException: ユーザー ''@'localhost'' (パスワード: YES を使用) のアクセスが拒否されました。
-
executeQuery()ソリューションでデータ操作文を発行できない。
-
[解決済み] ストアドプロシージャ 'dbo.aspnet_CheckSchemaVersion' が見つかりませんでした。
-
[解決済み] データベースのインデックス作成はどのように行われるのですか?[クローズド]
-
[解決済み] 複数の列でgroup byを使用する
-
[解決済み] SQL Serverでテーブルからカラム名を取得するにはどうすればよいですか?
-
[解決済み] MySQLでFULL OUTER JOINを行うにはどうすればよいですか?
-
[解決済み] DISTINCTでCOUNT(*)を選択する
-
[解決済み] SQL ServerでINSERT INTOとしてデータをエクスポートする
-
[解決済み] 別のテーブルに一致する項目がない行を選択するにはどうすればよいですか?