2016-08-04 7 views
2

私はを使用しています。、私はテーブルに値を挿入しているスクリプトを持っています。このスクリプトでは、DateTimeの変数を2つのパラメータに基づいてスクリプト内での一時的な関数またはプロシージャの使用

CASEまたはifの条件をsqlで行うことができます。私が参照できるデータベースにFunctionまたはprocedureを作成することは許可されていません。

Datetime値のフォーマットを変更する条件を適用するためにスクリプトtemporary functionまたはtemporary procedureを作成するなどの他の方法はありますか?

+0

あなたは一時的な機能/手続きをしたいですか、なぜ 'case'を使用してそれを行うことができますか? – HoneyBadger

+1

@ HoneyBadger実際には一時的なプロシージャは存在しますが、機能はありません。彼らは全く無意味であるように私は1つを使用したことはありませんが、利用可能です。 –

答えて

1

はい、次のことができます。

CREATE PROCEDURE #usp_TempOne 
@Input INT, 
@Output INT OUTPUT 
as 
SET @Output = @Input * 2 
RETURN 
GO 
DECLARE @i INT = 10, @o INT; 
EXEC#usp_TempOne @i, @o OUTPUT 
SELECT @o 
+0

私は一時的なプロシージャを使用しようとしましたが、ストアドプロシージャから列に返される設定ができませんでした。実際に私はTemp手続きで3つの値を渡しています。最初の2つは、第3の値の形式を変更する際の基準となる値です。 であり、戻り値はパラメーターに格納されます。 一時プロシージャを実行し、別のパラメータに返す値を取得する構文を私に教えてください。 –

+0

完全に動作します: –

+0

それは私のために鳴った。 –

関連する問題