regex – 用于验证SQL Server表名的正则表达式
我正在使用C#代码创建动态SQL Server表,但我需要验证表名.
什么是验证SQL Server表名的正则表达式? 解决方法link中描述的正则表达式应该是:var regex = new Regex(@"^[p{L}_][p{L}p{N}@$#_]{0,127}$"); 请注意,通常你必须在[…]中嵌入表的名称,因为规则3(所以SELECT * FROM [SET]是一个有效的查询,因为,虽然SET是保留关键字,你可以用[…]“逃避”它 请注意,在链接页面中,规则不完整: 从https://msdn.microsoft.com/en-us/library/ms175874.aspx开始 >标识符不能是Transact-SQL保留字. SQL Server保留保留字的大写和小写版本.在Transact-SQL语句中使用标识符时,不符合这些规则的标识符必须用双引号或括号分隔.保留的单词取决于数据库兼容级别.可以使用ALTER DATABASE语句设置此级别. 他们忘记了:https://msdn.microsoft.com/en-us/library/ms174979.aspx
我编写的规则是针对“完整”表,而不是针对临时表,并且不包括模式名称. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- sql-server – 如果SELECT语句中没有结果,则使用CASE返回字
- sql-server – 为什么这个MERGE语句导致会话被杀死?
- sql-server – sql登录失败的用户X … Windows身份验证
- 数据库设计 – 在数据库中,键和索引之间有什么区别?
- sql-server – 什么是SharePoint数据库恢复模型的最佳实践
- sqlserver for xml path
- SQLSERVER 服务无法启动Operating system error1117
- Sql学习第二天——SQL DML与CTE概述
- 在查询里结合表,使用子查询定义未确定数据
- sql – 是否必须在事务中封装单个合并语句(带有insert,dele