SQL Prompt 4 - *STILL* doesn't "get it" when it comes to XML
mscheuner
Posts: 57
I'm a bit annoyed - SQL Prompt 4 STILL doesn't "get it" when it comes to SQL XML DML support......
Imagine a table something like this:
If I want to change some content in the "Payload" XML column, I can do this with an UPDATE statement:
The problem is: those keywords ".value", ".modify" that I type AFTER the XML column name (Payload) ARE CASE SENSITIVE - but SQL Prompt insists on UPPERCASING those.
Yes, I know, I can turn off uppercasing all together - but that's at best a hackish workaround......
Is it really not possible for SQL Prompt to detect, that when I type:
that "Payload" is an XML column, and therefore, if I now proceed to type "modify" and a space or opening parenthesis, that it should never force this "modify" to UPPERCASE ?
What happens now is:
and as soon as I type "(" now, I get:
and that's just not valid SQL XML DML syntax anymore.
See this link here for the SQL XML DML keywords:
http://msdn.microsoft.com/en-us/library/ms190798.aspx
All five of those (.query(), .nodes(), .value(), .modify(), .exist() ) are case-sensitive and should definitely be left alone when used on a XML column!
Marc
Imagine a table something like this:
CREATE TABLE MyDemoTable (ID INT IDENTITY(1,1) PRIMARY KEY, Title VARCHAR(50), Payload XML)
If I want to change some content in the "Payload" XML column, I can do this with an UPDATE statement:
UPDATE MyDemoTable SET Payload.modify('replace value of ..... with "...." ')
The problem is: those keywords ".value", ".modify" that I type AFTER the XML column name (Payload) ARE CASE SENSITIVE - but SQL Prompt insists on UPPERCASING those.
Yes, I know, I can turn off uppercasing all together - but that's at best a hackish workaround......
Is it really not possible for SQL Prompt to detect, that when I type:
UPDATE MyDemoTable SET Payload.
that "Payload" is an XML column, and therefore, if I now proceed to type "modify" and a space or opening parenthesis, that it should never force this "modify" to UPPERCASE ?
What happens now is:
UPDATE MyDemoTable SET Payload.modify
and as soon as I type "(" now, I get:
UPDATE MyDemoTable SET Payload.MODIFY(
and that's just not valid SQL XML DML syntax anymore.
See this link here for the SQL XML DML keywords:
http://msdn.microsoft.com/en-us/library/ms190798.aspx
All five of those (.query(), .nodes(), .value(), .modify(), .exist() ) are case-sensitive and should definitely be left alone when used on a XML column!
Marc
Comments
We have logged this in our enhancement request database as SP-2794.
If we get sufficient interest in this feature we’ll considering putting it in a future release.
Kindly let us know if you have any other issues/questions regarding SQL prompt, I'll like to help.
Product Support
Redgate Software Ltd.
E-mail: support@red-gate.com