2011-03-23 48 views
2

我使用Oracle plsql從多年開始。 現在我想vb.net如何在vb.net函數內調用tsql函數?

我創建了返回一個char值的函數,這麼寫:

ALTER FUNCTION [abc].[GET_PERSON_TYPE] 
( 
@person_national_id CHAR(16) 
) 
RETURNS CHAR(1) AS 
BEGIN 

declare @person_type CHAR(1) 

SET @person_national_id = (
       SELECT p_type 
       FROM abc.persons 
       WHERE national_id = @person_national_id 
       ) 

RETURN @person_national_id 

END 

的問題:我將創建VB中的一個功能get_type(...)。淨調用上面寫的tsql函數... 我怎樣才能調用tsql函數[abc]。[GET_PERSON_TYPE]在vb.net函數get_type(...)函數?

非常感謝。

+0

在這裏看到類似的問題的一個很好的討論:http://stackoverflow.com/questions/1300052/how-can-i-call-a-sqlserver-function-from-vb-netor-c- is-some-syntax-lik – 2011-03-23 16:33:21

回答

1

我不認爲你可以直接調用這個函數,但是你可以在select語句中使用它。

select [abc].[GET_PERSON_TYPE]('abcde') 
+0

你可以用'EXEC'標量函數。 – 2011-03-23 14:52:43

+0

@馬丁 - 不知道。所以基本上你可以像調用客戶端的存儲過程一樣調用函數。我對vb.net一無所知,但是我在Delphi中測試過,並且它可以像執行存儲過程一樣調用函數。 – 2011-03-23 15:33:22