仅用于演示。我认为,这是一项教育任务,它是LUW的Db2。
仅用于LUW系统的非DPF Db2
bidirectional_1
对于LUW系统的任何Db2
对于DPF系统来说有些棘手,但也可行。我们必须将softmax: (None,20,64)
Bidirectional: (None,64)
语句中不允许的代码包装到存储过程中。
keras.layers.dot([y,flow_features],axes=[2,2])
,
如果Db2服务器在Linux / Unix / Windows上运行,则可以使用DBMS_OUT.PUT_LINE函数将诊断输出从SQL例程发送到控制台。这个想法是,在您的例程中,您给变量分配了一些文本(例如,表名及其计数),然后调用DBMS_OUTPUT.PUT_LINE(...)使该文本出现在控制台上。这种方法的缺点是,仅在例程完成后才显示输出。这通常不是您想要的,有时您希望在行计数可用时查看它们,因此请考虑使用其他方法,如下所示。
要查看带有Db2 CLP(或db2cmd.exe)的DBMS_OUTPUT.PUT_LINE输出,首先需要在调用该过程之前使用set serveroutput on
。
但是对于诸如此类的简单操作,存储过程可能不合适,因为在连接到数据库后,您可以使用CLP分两步来完成工作。出于脚本目的,这通常更方便。这样的想法是,您创建一个文件来生成查询,当您使用CLP运行时会创建另一个文件,然后执行第二个文件以获得所需的结果。
示例
创建包含生成实际查询的查询的文件gen_counts.sql
,例如gen_counts.sql可能包含
select 'select count(*) from '||rtrim(tabschema)||'.'||rtrim(tabname)||' with ur;'
from syscat.tables;
然后您可以执行以下步骤:
db2 connect to $database
db2 -txf gen_counts.sql > count_queries.sql
db2 -tvf count_queries.sql > count_results.txt
请注意,当脚本继续运行时,可以通过另一个Shell会话读取输出文件(在这种情况下为count_results.txt
)。如果需要,还可以将输出通过管道传输到并发作业。
但是,经验丰富的DBA可以避免以这种方式对所有表进行行计数,而是可以选择确保所有表的运行状态始终是最新的,并接受最近的 estimates 行计数,runstats完成后在SYSCAT.TABLES.CARD中可见。如果统计信息是最新的,那么CARD计数通常足够好用于许多用途。如果需要精确计数,则通常在数据库处于活动状态时才对特定时间戳有效。
本文链接:https://www.f2er.com/3152511.html