上一篇
📢 最新消息(2025-08)
IBM近期发布了DB2 13.5版本,优化了AI驱动的查询优化引擎,并增强了JSON处理能力,让DB2在混合云环境下表现更出色!如果你还没升级,可以考虑试试看~
DB2作为IBM旗下的企业级数据库,在金融、电信等行业广泛应用,掌握常用SQL语句能让你在数据管理、性能调优时事半功倍!今天继续分享第五弹实用语句,涵盖 索引管理、存储过程、触发器 等进阶操作。
CREATE INDEX idx_employee_name ON employees(last_name, first_name);
适用场景:频繁按姓名查询员工信息时,加速检索。
SELECT indname, tabname, colnames FROM syscat.indexes WHERE tabname = 'EMPLOYEES';
作用:快速检查某张表的索引情况。
DROP INDEX idx_employee_name;
注意:删除前确认是否影响查询性能!
CREATE OR REPLACE PROCEDURE update_salary(IN emp_id INT, IN raise_amount DECIMAL(10,2)) LANGUAGE SQL BEGIN UPDATE employees SET salary = salary + raise_amount WHERE employee_id = emp_id; END;
调用方式:
CALL update_salary(101, 5000.00); -- 给ID 101的员工加薪5000
CREATE PROCEDURE get_employee_count(OUT total INT) LANGUAGE SQL BEGIN SELECT COUNT(*) INTO total FROM employees; END;
调用示例:
CALL get_employee_count(?); -- 输出员工总数
CREATE TRIGGER log_salary_change AFTER UPDATE OF salary ON employees REFERENCING OLD AS old NEW AS new FOR EACH ROW INSERT INTO salary_audit(employee_id, old_salary, new_salary, change_time) VALUES (old.employee_id, old.salary, new.salary, CURRENT TIMESTAMP);
效果:每次工资更新时自动记录变更历史。
ALTER TRIGGER log_salary_change DISABLE; -- 临时关闭 ALTER TRIGGER log_salary_change ENABLE; -- 重新启用
WITH RECURSIVE emp_hierarchy AS ( SELECT employee_id, manager_id, 1 AS level FROM employees WHERE manager_id IS NULL UNION ALL SELECT e.employee_id, e.manager_id, h.level + 1 FROM employees e JOIN emp_hierarchy h ON e.manager_id = h.employee_id ) SELECT * FROM emp_hierarchy ORDER BY level;
适用场景:组织架构、菜单树等层级数据查询。
SELECT * FROM employees ORDER BY employee_id FETCH FIRST 10 ROWS ONLY; -- DB2 12+ 简洁语法 -- 或传统写法 SELECT * FROM employees ORDER BY employee_id OFFSET 20 ROWS FETCH NEXT 10 ROWS ONLY;
性能监控:
SELECT * FROM SYSIBMADM.SNAPDB; -- 查看数据库快照信息
快速备份单表:
CREATE TABLE employees_backup AS (SELECT * FROM employees) WITH DATA;
查看锁等待:
SELECT * FROM SYSIBMADM.SNAPLOCK WAIT;
DB2的强大功能远不止这些,但掌握这些语句已经能应对80%的日常需求!建议收藏本文,随用随查~ 下次我们会介绍 DB2与JSON数据处理 的技巧,敬请期待!
💬 互动:你平时最常用的DB2语句是什么?欢迎评论区分享!
本文由 郜怜南 于2025-08-03发表在【云服务器提供商】,文中图片由(郜怜南)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://vps.7tqx.com/wenda/527259.html
发表评论