Вы могли бы написать это еще проще:
;WITH XMLNAMESPACES(DEFAULT 'http://www.mydomain.org/MySchema.xsd')
SELECT @myDoc.value('(/Form/@SectionId)[1]', 'VARCHAR(100)') AS SectionId
Поскольку вы никогда не используете / не ссылаетесь ни на одно из пространств имен xsi
или xsd
, нет необходимости объявлять их.
И поскольку вы извлекаете только один атрибут из одного элемента, на самом деле нет смысла использовать функцию .nodes()
для создания внутренней "фиктивной таблицы".