OPENQUERY存儲過程,我有以下步驟:Exec用帶參數
CREATE PROCEDURE [dbo].[meals] @EncounterID nvarchar(15), @EventDate nvarchar(30)
AS
DECLARE @TSQL varchar(8000);
SELECT @TSQL = 'SELECT * FROM OPENQUERY(cerner, ''select ce.result_val PercentEaten,
ce.event_cd Meal
from clinical_event ce
where
ce.task_assay_cd in (5362408, 5362296, 5361870)
and ce.event_end_dt_tm >= sysdate-30
and ce.event_cd in (636033, 636036, 636039)
and ce.event_class_cd = 233
and ce.encntr_id = ''' +CAST(@EncounterID as varchar(15))+ '''
and ce.event_end_dt_tm between to_char('''+CAST(@EventDate as varchar(30))+''' - .5) and
to_char('''+CAST(@EventDate as varchar(30))+''' - 1)
'')';
EXEC (@TSQL);
GO
當我這一行執行:
exec dbo.meals @EncounterID = '12345678',@EventDate = '07/18/2013'
我得到的只是說:error at line 9
的錯誤是什麼我做錯了嗎?
你的openquery包裝應該沒問題(除了縮進它)。問題出在你的包裝查詢中('select ce.result_val PercentEaten ...'),我敢打賭它在某處引用了.... – OzrenTkalcecKrznaric
我試着在兩個變量上附加引號,錯誤移動到日期變量 – user1879417
你可以發佈實際和完整的錯誤信息? –