Rak*_*esh 4 regex sql-server-2008 c#-4.0
我正在使用C#代码创建动态SQL Server表,但我需要验证表名.
什么是验证SQL Server表名的正则表达式?
链接中描述的正则表达式应该是:
var regex = new Regex(@"^[\p{L}_][\p{L}\p{N}@$#_]{0,127}$");
Run Code Online (Sandbox Code Playgroud)
请注意,通常你必须嵌入表的名称[...],因为规则3(因为SELECT * FROM [SET]是一个有效的查询,因为,虽然SET是一个保留关键字,你可以用它来"逃避"它[...])
请注意,在链接页面中,规则不完整:
来自https://msdn.microsoft.com/en-us/library/ms175874.aspx
他们忘记了:https://msdn.microsoft.com/en-us/library/ms174979.aspx
是新表的名称.表名必须遵循标识符规则.table_name最多可以包含128个字符,但本地临时表名称(前缀为单个数字符号(#)的名称)除外,不能超过116个字符.
我编写的规则是针对"完整"表,而不是针对临时表,并且不包括模式名称.
| 归档时间: |
|
| 查看次数: |
6067 次 |
| 最近记录: |