用简单的引号创建XML SCHEMA COLLECTION问题

时间:2011-07-18 11:04:38

标签: sql sql-server escaping xsd

我正在尝试在Microsoft SQL Server中执行以下操作:

CREATE XML SCHEMA COLLECTION [dbo].[XYZSchema] AS 
N'schema content'
GO 

问题是schema content在正则表达式中包含引号(')并且违反了指令:

 N' ..... <xsd:pattern value="\w+([-+.'] ..... '

有没有办法逃避引用并维护正则表达式的正确性,或以其他方式声明CREATE XML SCHEMA COLLECTION的表达式?

1 个答案:

答案 0 :(得分:1)

您正在编写varchar(well,nvarchar)文字。在这样的文字中逃避单引号的方法是将它们加倍:

N' ..... <xsd:pattern value="\w+([-+.''] ..... '

来自Constants

  

如果用单引号括起来的字符串包含嵌入的引号,则用两个单引号表示嵌入的单引号。