检查所使用的语句是否标准
/*
标准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 语句之后的任何语句无效。
*/