хранимая процедура, возвращающая только ссылочные поля - PullRequest
0 голосов
/ 13 марта 2012

имеют хранимую процедуру с 1 входом и 2 опорными параметрами.При назначении хранимой процедуры запросу linq запрос не выполняется.Что я должен сделать, чтобы действительно выполнить запрос, который заполняет 2 ссылочных параметра.Все примеры, которые я нашел в Интернете, используют операторы «foreach», но sp не возвращает список результатов.

хранимая процедура:

ALTER PROCEDURE [dbo].[usp_GetStraatenPlaatsnaam]
-- Add the parameters for the stored procedure here
-- <@Param1, sysname, @p1> <Datatype_For_Param1, , int> = <Default_Value_For_Param1, , 0>, 
-- <@Param2, sysname, @p2> <Datatype_For_Param2, , int> = <Default_Value_For_Param2, , 0>
@POSTCODE nvarchar(6) 
,@STRAAT nvarchar(17) out
,@PLAATS nvarchar(18) out

AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;

SELECT 
    @STRAAT = PCT_STRAATNAAM_TNT
   ,@PLAATS  = PCT_WOONPLAATS_TNT
FROM
    PCTR
WHERE 
    PCT_POSTCODE = @POSTCODE 
END

Процедура - это заданный факт снет разрешения на изменение.Как я могу вызвать и выполнить эту процедуру, используя LinqToSQL?Процедура уже используется для ряда других процессов и работает целую вечность.

1 Ответ

0 голосов
/ 13 марта 2012

Вы используете выходной параметр в качестве ключевого слова 'out', которое просто используется в PL-Sql (Oracle) .... Вместо этого вы должны использовать ключевое слово 'OUTPUT' для выходного параметра в T-Sql (Sql Server) .. ..

ALTER PROCEDURE [dbo].[usp_GetStraatenPlaatsnaam]
-- Add the parameters for the stored procedure here
-- <@Param1, sysname, @p1> <Datatype_For_Param1, , int> = <Default_Value_For_Param1, , 0>, 
-- <@Param2, sysname, @p2> <Datatype_For_Param2, , int> = <Default_Value_For_Param2, , 0>
@POSTCODE nvarchar(6) 
,@STRAAT nvarchar(17) OUTPUT
,@PLAATS nvarchar(18) OUTPUT

AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;

SELECT 
   @STRAAT = PCT_STRAATNAAM_TNT
   ,@PLAATS  = PCT_WOONPLAATS_TNT
FROM
PCTR
   WHERE 
   PCT_POSTCODE = @POSTCODE 

END
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...