在 Linux 上的 Db2 v11.5 中,我想创建变量,然后在 SELECT 语句中使用此变量。我不想在数据库上创建过程或函数,我只想从 db2cmd 或某些数据库工具在动态 SQL 中执行此操作。
简化示例:
BEGIN
DECLARE name VARCHAR(10);
SET name = 'John';
SELECT * FROM SYSIBM.SYSDUMMY1 WHERE name = :name;
END;
编辑: 为什么我不想创建存储过程/函数?我每半年对几个数据库的数据库权限/授权进行一次审计,由于严格的安全设置,我没有在某些数据库上创建过程的权限。在大多数情况下,我只能访问系统目录表,这完全足够让我创建审计。我列出数据库用户,然后对于“可疑”用户,我执行完整的权限/权限检查,从系统目录中执行几个 SQL。到目前为止,对于每个用户,我都使用过文本编辑器并使用查找/替换,这是一个不错的解决方案,但变量是更好的解决方案。谢谢!