只要有人运行一个脚本(脚本由多个inserts,updates,delete语句组成),我有什么办法可以在显示器上弹出一个弹出窗口
多个语句的示例:
Update table set A=A where EmpId= 1;
Delete from Table where Emp_ID =2;
当我在脚本中运行此完整命令时,应触发一个弹出窗口,提示“我正在尝试删除操作及其生产数据库”。
我在运行sql脚本时是否有任何方法可以弹出窗口(在脚本中,如果有任何带有truncate或delete的语句),我可以在toad和Sql Developer中获得弹出窗口吗?...
请帮助我提出建议
答案 0 :(得分:3)
尝试使用ACCEPT命令(Docs)
set pause on -- this will wait for user input between pages/queries
set pagesize 200
SELECT employees.first_name,
employees.last_name,
employees.salary,
departments.department_name
FROM employees
INNER JOIN departments ON employees.department_id = departments.department_id
ORDER BY salary desc, last_name asc;
ACCEPT upd CHAR PROMPT 'Cut Salary 10 percent? (y/n): ' -- add this before bad stuff
update employees set salary = salary * 0.9;
我认为您真正的解决方案是永远不要在生产中手动运行脚本。在大多数情况下,您甚至都不应连接生产。当您确实需要进行生产变更时,请发出变更单。这将包括您的脚本,该脚本将由DBA审核。然后将它安排好,并经过预先批准的过程。所有这些都将得到审核。
这听起来似乎很“疯狂”,但是大多数DBA在阅读您的问题时都会非常担心数据库中的数据。
TL; DR简短答案-您的工具无法拯救您。他们只能帮忙。例如,SQLDev允许您在连接中添加颜色代码,以直观地提醒您所在的位置。