Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何在多个表中进行更新?_Sql_Oracle - Fatal编程技术网

Sql 如何在多个表中进行更新?

Sql 如何在多个表中进行更新?,sql,oracle,Sql,Oracle,我的数据库是Oracle10g 我有5个不同的表,每个表都有默认值“N”的列状态 现在我想更新所有5个表,并使其状态为“Y” 那么,是否有任何单一的查询或方法可以在所有5个表中进行更新,而无需执行单独的更新查询?即使有复杂的答案,我也希望只执行以下操作: UPDATE table1 SET columnX = "Y" ; UPDATE table2 SET columnX = "Y" ; UPDATE table3 SET columnX = "Y" ; UPDATE table4 SET co

我的数据库是Oracle10g

我有5个不同的表,每个表都有默认值“N”的列状态

现在我想更新所有5个表,并使其状态为“Y”


那么,是否有任何单一的查询或方法可以在所有5个表中进行更新,而无需执行单独的更新查询?

即使有复杂的答案,我也希望只执行以下操作:

UPDATE table1 SET columnX = "Y" ;
UPDATE table2 SET columnX = "Y" ;
UPDATE table3 SET columnX = "Y" ;
UPDATE table4 SET columnX = "Y" ;
UPDATE table5 SET columnX = "Y" ;

现在,如果您有5000个表,让我们来讨论一下。

如果表名遵循正则表达式,则可以编写PL\SQL代码:

  • 从oracle对象表中提取所有表
  • 使用动态语句构造VARCHAR2变量以更新值
  • 使用包DBMS_SQL执行此动态语句

拜拜

为什么不改变每个表,将默认值设置为“Y”呢?您的意思是更新所有数据,还是将默认值更改为“Y”(或两者兼而有之)?