小编Thi*_*nig的帖子

更改生产数据库中的列数据类型

我正在寻找在填充表中更改列的数据类型的最佳方法.Oracle仅允许使用空值更改colums中的数据类型.

到目前为止,我的解决方案是一个PLSQL语句,它将要修改的列的数据存储在集合中,更改表,然后迭代集合,使用转换的数据类型恢复原始数据.

-- Before: my_table ( id NUMBER, my_value VARCHAR2(255))
-- After: my_table (id NUMBER, my_value NUMBER)

DECLARE
  TYPE record_type IS RECORD ( id NUMBER, my_value VARCHAR2(255));
  TYPE nested_type IS TABLE OF record_type;
  foo nested_type;
BEGIN
  SELECT id, my_value BULK COLLECT INTO foo FROM my_table;
  UPDATE my_table SET my_value = NULL;
  EXECUTE IMMEDIATE 'ALTER TABLE my_table MODIFY my_value NUMBER';
  FOR i IN foo.FIRST .. foo.LAST
  LOOP
    UPDATE my_table 
        SET  = TO_NUMBER(foo(i).my_value) 
        WHERE my_table.id = foo(i).id;
  END LOOP;
END;
/
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种更有经验的方法来做到这一点.

oracle plsql

5
推荐指数
2
解决办法
4450
查看次数

利用iptables在docker容器之间丢弃数据包

我有三个容器C1,C2和C3,形成一个集群,并运行一个DNS实例.容器使用DNS解析其IP,并且在使用vanilla docker配置公开所需端口时已经可以相互通信.

如何利用iptables主机在任何时间点丢弃C1和C2之间的数据包?

iptables docker

2
推荐指数
1
解决办法
786
查看次数

标签 统计

docker ×1

iptables ×1

oracle ×1

plsql ×1