2016-04-17 13 views
1

SQLクエリでカスタム関数を使用して変数の値を設定する方法を教えてください。SQLクエリで変数の値を設定する方法

My機能は次のとおりです。

function myFunc(par){return par;} 

私のSQLクエリがある:あなたはちょうどこの機能が属するスキーマを指定する必要が

const string query = 
      @" 
      DECLARE @result varchar(100) 
      SET @result= myFunc(N'test') 

      INSERT[dbo].[TempTable] ([Name]) 
      VALUES (@result) 
      "; 
+0

使用しているSQLのバージョンは? –

+0

2014 btwこのコードはConfiguration.csクラスではなく、Migrationで記述されています – ruud

+0

SQL Serverでは、関数を呼び出すときにスキーマ名を指定する必要があります。 。 。 'dbo.myfunc(N'test ')'。 –

答えて

1

。なし@ - あなたが好きなら、あなたは関数の出力から直接挿入することによって、全体的なクエリの半分のサイズでき

SET @result= dbo.myFunc(N'test') 

SET @result= myFunc(N'test') 

:それはスキーマdboであると仮定すると、ちょうどこの行を変更必要な変数:

INSERT INTO dbo.TempTable (Name) 
SELECT dbo.myFunc(N'test') 
+0

私はそれを行い、次のエラーを取得します。**列 "myFunc"またはユーザー定義関数または集約 "myFunc"を見つけることができません、または名前があいまいです。** – ruud

+0

私は私の答えを更新しました。私はオンザフライで答えて、問題の内容を誤解していました。 @ GordonLinoffは彼のコメントで正しいです。 –

関連する問題