如何同时更新数据库中所有表的相同字段
2017-09-19 15:26
197 查看
之前在做项目的过程中,有时候需要重置一下数据库中所有表中都存在的一些相同字段,如果表少的话还可以手动更新一下,一旦表的数量过多就会变得麻烦,因此自己写了一个适用于Oracle数据库的SQL脚本,可以先循环遍历出数据库中的所有表,然后拿着表名循环,进行动态SQL的执行。
我这里需要进行的操作是将所有表中,列名为CREATED_BY,CREATED_DATE,LAST_MODIFIED_BY,LAST_MODIFIED_BY的列更新为null,代码和执行结果如下。
执行结果如下:
我这里需要进行的操作是将所有表中,列名为CREATED_BY,CREATED_DATE,LAST_MODIFIED_BY,LAST_MODIFIED_BY的列更新为null,代码和执行结果如下。
DECLARE sqlS VARCHAR (32760) ; BEGIN FOR table_name IN ( SELECT table_name FROM user_tab_columns WHERE column_name = 'CREATED_BY' ) loop sqlS := ( 'UPDATE ' || table_name.TABLE_NAME || ' SET CREATED_BY = NULL, CREATED_DATE = NULL, LAST_MODIFIED_BY = NULL, LAST_MODIFIED_DATE = NULL' ) ; EXECUTE IMMEDIATE sqlS ; dbms_output.put_line (sqlS) ; END loop ; dbms_output.put_line ('更新结束!') ; END ;
执行结果如下:
相关文章推荐
- 如何同时更新数据库中所有表的相同字段
- mysql更新数据库中所有相同的某个字段的值
- 如何得到数据库中所有表名,表字段及字段中文描述
- 数据库(mdb)、表、字段的自动创建,以及如何得到数据库中所有表的名字
- [转]SQLSERVER如何获取一个数据库中的所有表的名称、一个表中所有字段的名称
- 如何将数据库中某个字段的值更新为空值?
- 如何将一个表格的所有数据存到数据库的一个字段里,并如何将这一个数据字段里的数据填充到前端表格里
- SQLSERVER如何获取一个数据库中的所有表的名称、一个表中所有字段的名称
- SQLSERVER如何获取一个数据库中的所有表的名称、一个表中所有字段的名称
- 同时修改某一个数据库中所有表的所有字段的编码格式(mysql)
- SQL批量更新数据库中所有用户数据表中字段类型为tinyint为int
- 使用EF Model First创建edmx模型,数据库有数据的情况下,如何同时更新模型和数据库
- 如何在更新数据库时,同时更新缓存的数据/(不丢弃缓存再重新读取数据来缓存)
- 如何得到数据库中所有表字段及字段中文描述
- SQLSERVER如何获取一个数据库中的所有表的名称、一个表中所有字段的名称
- 如何获取SQL Server所有的数据库名、表名、字段名及字段类型?
- 如何得到数据库中所有表名 表字段及字段中文描述
- SQLSERVER如何获取一个数据库中的所有表的名称、一个表中所有字段的名称
- SQL批量更新数据库中所有用户数据表中字段类型为tinyint为int
- mysql如何给一个数据库所有表都增加一个字段?