Недопустимо на верхнем уровне документа
Привет, у меня есть хранимая процедура, в которой я выберу некоторые детали из БД. Когда я выполняю хранимую процедуру непосредственно с помощью SQL Studio 2016, я получаю ошибку, как показано на заголовке. Хотя я искал в интернете много решений и пробовал их, ни одно из них не может успешно решить мою проблему. Моя хранимая процедура выглядит следующим образом:
DECLARE -- Add the parameters for the stored procedure here @p_CarId NVARCHAR(MAX) = '12345' --AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; DECLARE @xmlContent AS NVARCHAR(MAX) SET @xmlContent = ' <ROOT> <Vehicles CarId="'+ @p_CarId +'"> </Vehicles> </ROOT> '; DECLARE @hdoc AS INT; EXEC sp_xml_preparedocument @hdoc OUTPUT , @xmlContent DECLARE @Car TABLE ( CarId BIGINT ) INSERT INTO @Car SELECT * FROM OPENXML(@hdoc,'/ROOT/Vehicles/CarId',1) WITH(CarId BIGINT) SELECT c.CarId ,cd.CarModel ,cd.CarManufacturedDate FROM @Car AS c INNER JOIN CarDetails AS cd ON c.CarId = cd.CarId END
Когда я выполняю приведенный выше сценарий, я продолжаю получать ошибку, как показано в заголовке. Есть какие-нибудь предложения по этому поводу? Спасибо.
Что я уже пробовал:
1. Поиск в интернете возможных объяснений и решений, но безрезультатно.
Santosh kumar Pithani
дайте мне знать, почему вы используете XML-запрос вместо sub-запроса в SP?