2011-08-08 16 views
15

関数とサブルーチンをパラメータとして使用するasp.netコード(VB.net)を移行します。 MS Server Management Studioを使用して前記の機能とサブを作成します。 Webページからテストする前に、MS SMS内から機能をテストしますか? 例を示します。私は「dbo.getNumber」関数の結果をSQL変数に代入して表示する

私が使用してそれをテストしようとしているという関数があるとし、次の:私はF5キーを入力すると

USE [someDB] 
GO 
SET ANSI_NULLS ON 
GO 
SET QUOTED_IDENTIFIER ON 
GO 
declare @value int; 

select @value = dbo.getNumber; 

print @value; 
go 

は、以下のMSGを与える(「クエリ」を実行します) :

"この場合、dbo.getNumberという名前は使用できません。有効な式は定数、定数式、および(一部のコンテキストでは)変数です(列名は使用できません)。

関数dbo.getNumberが正常に受け入れられました.btw。 (それは特定の基準を満たすデータベースの記録を数えています)。

私がやろうとしていることは、うまくいきません。

SMS内から関数の値をテスト目的で印刷するにはどうすればよいですか?

USE [someDB] 
GO 
SET ANSI_NULLS ON 
GO 
SET QUOTED_IDENTIFIER ON 
GO 
declare @value int; 

select @value = dbo.getNumber(); 

print @value; 
go 

関数呼び出しの括弧に注意してください:ジェームズ・ジョンソンあたり、以下のように

正解。 注:SMSのintellisenseは、dbo.getNumber()がエラーであるかのように強調しますが、F5でクエリを実行して正しい結果を出力します。

答えて

35

あなたはこのようにそれを呼び出す必要があります:

select @value = dbo.getNumber() 
+0

それだという。 Dangit。 (もう7分はこれを受け入れることはできませんが、私はそうします)。私が何をしても、それが間違っているかのように下線が引かれているという事実によって、私は少し混乱していました。ありがとう! – elbillaf

+0

うれしかったです。あなたが答えとしてそれを選択していただきありがとうございます:) –

+0

+1私はあなたの一日を作った! – Mukus

関連する問題