哪些SQL语句不能用在事务中

哪些SQL语句不能用在事务中,第1张

数据库事务中除以下语句不可使用外,其它所有 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_t

before 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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10069265.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存