服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Sql Server - MSSQL 检查所使用的语句是否符合标准

MSSQL 检查所使用的语句是否符合标准

2019-11-19 15:26mssql教程网 Sql Server

标准SQL和T-SQL之间有很多区别——太多了,这里就不说了。还有,如果你在SQL Server上工作, 那么使用这些私有的扩展是有好处的。

检查所使用的语句是否标准 
/* 
标准SQL和T-SQL之间有很多区别——太多了,这里就不说了。还有,如果你在SQL Server上工作, 
那么使用这些私有的扩展是有好处的。由于许多SQL Server的特性的本质,你不使用非标准的命令的话, 
将会有很多强大的功能无法实现。如果你想要看看你的SQL是否符合标准,你可以使用SET FIPS_FLAGGER 
命令 
*/ 
SET FIPS_FLAGGER 'level' 
/* 
' level ' 
对 FIPS 127-2 标准的遵从级别,将检查所有数据库操作是否达到该级别。如果数据库操作与选定的 ISO 标准级别冲突,则 Microsoft SQL Server 将生成一个警告。 
level 必须是下列值中的一个。 
值 说明 
ENTRY 检查是否遵从 ISO 入门级标准。 

FULL 
检查是否遵从 ISO 完全级标准。 

INTERMEDIATE 检查是否遵从 ISO 中间级标准。 

OFF 
不检查是否遵从标准。 
*/ 

/* 
SET FIPS_FLAGGER 的设置是在分析时设置,而不是在执行或运行时设置。在分析时进行设置意味着:SET 语句只要出现在批处理或存储过程中即生效,与代码执行实际上是否到达该点无关;并且 SET 语句在任何语句执行之前生效。例如,假设 SET 语句在 IF...ELSE 语句块中,而在执行过程中从未到达过该语句块,但由于分析了 IF...ELSE 语句块,因此 SET 语句仍生效。 

如果在存储过程中设置 SET FIPS_FLAGGER,则从存储过程返回控制后将还原 SET FIPS_FLAGGER 的值。因此,在动态 SQL 中指定的 SET FIPS_FLAGGER 语句对动态 SQL 语句之后的任何语句无效。 

*/

延伸 · 阅读

精彩推荐