MSSQL检查所使用的语句是否符合标准
时间:2021-07-01 10:21:17
帮助过:38人阅读
标准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 语句之后的任何语句无效。
*/