数据库事务中除以下语句不可使用外,其它所有 SQL 语句均可使用:
1、ALTER DATABASE:修改数据库
2、BACKUP LOG :备份日志
3、CREATE DATABASE :创建数据库
4、DISK INIT:创建数据库或事务日志设备
5、DROP DATABASE:删除数据库
6、DUMP TRANSACTION:转储事务日志
7、LOAD DATABASE:装载数据库备份复本
8、LOAD TRANSACTION:装载事务日志备份复本
9、RECONFIGURE:更新使用 sp_configure 系统存储过程更改的配置选项的当前配置(sp_configure 结果集中的 config_value 列)值。
10、RESTORE DATABASE:还原使用BACKUP命令所作的数据库备份
11、RESTORE LOG:还原使用BACKUP命令所作的日志备份
12、UPDATE STATISTICS:在指定的表或索引视图中,对一个或多个统计组(集合)有关键值分发的信息进行更新
根据本人实际经验总结,非照搬教科书。一种就是在服务器上安装安全软件,这种安全软件能够自动识别注入攻击,并做出响应策略。再就是你的所有request都要进行程序过滤,把包含sql的一些特殊字符都过滤掉。第三就是数据库sql语句可以采用一些预编译的框架,如Mybatis,也能防止sql注入。create or replace trigger aaa_tbefore update or insert or delete on aaa
for each row
declare
-- local variables here
begin
if to_char(sysdate,'yyyy-mm-dd')='2013-03-10' then
Raise_Application_Error(-20001, '不能修改')
end if
end aaa_t
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)