MSSQL中检查所使用的语句是否标准
检查所使用的语句是否标准
/*
标准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 语句之后的任何语句无效。
*/
相关文档:
Ms sql 2000
drivername=com.microsoft.jdbc.sqlserver.SQLServerDriver
url=jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=books
username=sa
password=sa
MySQL
drivername=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost/books
username=root
password=root
Oracle
drivername=orac ......
从mssql6.5开始,微软提供了两个不公开,非常有用的系统存储过程sp_MSforeachtable和sp_MSforeachdb,用于遍历某个数据库的每个表和遍历DBMS管理下的每个数据库。
我们在master数据库里执行下面的语句可以看到两个proc详细的代码
use master
exec sp_helptext sp_MSforeachtable
exec sp_helptext sp_Msforeachdb
sp_M ......
--此代码实现SQL数据库远程备份,放到作业里面执行可以自动备份数据库、自动删除@keepNDays天前备份。
--此代码将本地所有的用户数据库备份到共享目录“\\backupServerIp\ShareName\数据库备份”下。
--并删除天前的备份文件。要备份成功必须能够对共享目录有操作权限!
sp_configure 'xp_cmdshell',1 ......
最近有个小东西要查看mssql数据库是用php实现的,以前我用php5.2时感觉挺简单的所以想php5.3也应该很简单的
为什么要用php5.3呢因为我想用sqlite3.0的啊,因为php5.2的不支持sqlite3.0的啊,所以我特意去下了5.3了下载回来了才发现5.3里没有mssql的dll扩展了,郁闷啊,不管这么多先用起那sqlite3.0再说了
sqlite3.0的部分 ......
php教程 调用mssql存储过程实例应用
用mssql_init语句用于初始化存储过程,而后调用mssql_bind语句指定存储过程参数,最后调用mssql_execute执行存储过程。
*/
//连接mssql数据库教程服务器
$link = mssql_connect("127.0.0.1", "sa", "sa") or die("Can't connect sql server");
mssql_sele ......