如何同時更新資料庫中所有表的相同欄位
之前在做專案的過程中,有時候需要重置一下資料庫中所有表中都存在的一些相同欄位,如果表少的話還可以手動更新一下,一旦表的數量過多就會變得麻煩,因此自己寫了一個適用於Oracle資料庫的SQL指令碼,可以先迴圈遍歷出資料庫中的所有表,然後拿著表名迴圈,進行動態SQL的執行。
我這裡需要進行的操作是將所有表中,列名為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 ;
執行結果如下:
相關推薦
如何同時更新資料庫中所有表的相同欄位
之前在做專案的過程中,有時候需要重置一下資料庫中所有表中都存在的一些相同欄位,如果表少的話還可以手動更新一下,一旦表的數量過多就會變得麻煩,因此自己寫了一個適用於Oracle
python讀取xml資料庫中表內所有資料,獲取資料庫中所有表的欄位名稱
工作中需要讀取指定xml資料庫中的資料以及 表所需欄位名,所以在已有例子中改進實現: xml 資料庫 xmldabase.xml: <database> <manifest> <pair key="schema_major_vsn" v
資料庫多個表相同欄位的統一更新(儲存過程)
開發中遇到多個表要設定區域REGIONCODE這個欄位的更新,所以寫了這個儲存過程統一處理CREATE PROCEDURE [dbo].[Sp_RegionCode_SD_value] AS DECLARE @tableName VARCHAR(100)
查詢資料庫中某表的欄位名和欄位型別
mysql: 1. 查詢資料庫中的所有表:show tables; 2. 查詢表中的欄位名和欄位型別: show columns from table_name(表名); &n
[MySQL] INFORMATION_SCHEMA 資料庫包含所有表的欄位
sql注入後可以通過該資料庫獲取所有表的欄位資訊 1. COLLATIONS表 提供有關每個字符集的排序規則的資訊。 COLLATIONS表包含以下列: COLLATION_NAME 排序規則名稱。 CHARACTER_SET_NAME 與排序規則關聯的字符集的名稱。 ID 排序規則I
列出MSSQL資料庫中的表和欄位內容
CREATE PROCEDURE [dbo].[List_Field] ASSELECT 表名=d.name, --case when a.colorder=1 then d.name else '' end, 欄位序號=a.c
mysql更新資料庫中所有相同的某個欄位的值
1. 檢視所有的資料表 -- 檢視所有資料表; SHOW TABLES; 2. 檢視某個資料表的所有的欄位 -- 查看錶tb_watch_back的所有欄位 DESCRIBE tb_w
oracle中檢視所有表、欄位、表註釋、欄位註釋
oracle中檢視所有表、欄位、表註釋、欄位註釋 檢視所有表 select table_name from user_tables; //檢視當前使用者擁有的表 select table_name from all_tables; //檢視所有使用者
刪除mysql資料庫中所有表
刪除表的命令 drop table 表名; 如果有200張表,執行200次,想想就不想動手了。 下面提供一個使用information_schema庫的方案: SELECT CONCAT('drop table ',table_name,';') FROM informati
ORACLE——在所有表、欄位中查詢某個字串並輸出表名和欄位名
什麼都不想說,直接上乾貨 declare v_Sql varchar2(2000); v_count number; begin for xx in (select t.OWNER, t.TABLE_NAME, t.COLUMN_NAME from
mysql中為使用者設定資料庫,資料表,欄位(列)的訪問許可權
1、mysql中對指定使用者,授予某些資料庫,資料表或者欄位訪問許可權 語法: GRANT PRIVILEGES ON DATA.TABLE TO USERS; 溫馨提示: 授權後可以使用2中命令進行使用者許可權許可權,也可以直接重啟mysql程序方式進行許可權重新整理。 A
MFC獲取SqlServer資料庫所有表、欄位名、記錄資料
程式碼如下過程其實不是每一步都有,但是主要功能都在! //1、連線資料庫類 BOOL CSqlDlg::Ado(CString strConn) { ::CoInitialize(NULL); // 初始化OLE/COM庫環境 try { m_pConn.CreateInstan
【Oracle】Oracle查詢資料庫中所有表的記錄數
方法一: 首先建立一個計算函式 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>&g
SQL查詢資料庫中所有表、表字段名及資料型別
select b.name,a.colid,a.name,(select systypes.name+'('+cast(a.length/2 as varchar(10))+')' from syst
mysql 檢視資料庫中所有表的記錄數
mysql使用select count(*) from table_name可以查詢某個表的總記錄數。想快速的知道資料庫中所有表的記錄數資訊怎麼辦?如果使用mysql的版本在5.0及以上,可以通過查詢information_schema庫中的tables表來獲取,該表中使
sql查詢資料庫中所有表名
查詢資料庫裡所有表名和欄位名的語句 SQL 查詢所有表名: SELECT NAME FROM SYSOBJECTS WHERE TYPE='U' SELECT * FROM INFORMATION_S
SQL Server資料庫中查詢含有某個欄位的表及該表記錄條數
SELECT object_name(sc.id) as TableName, sc.Name as ColumnName, si.rows as RowCounts FROM SysColumns sc LEFT JOIN SysObjects so ON sc.id =
oracle 查詢資料庫中所有表名及查詢某一個表的所有列名
1.查詢當前資料庫中所有表名及表的備註: 1) select * from user_tab_comments;----查詢所有表 2)select * from user_tab_comments where Table_Name=
Oracle中檢視所有表和欄位
https://www.cnblogs.com/emanlee/archive/2011/12/02/2272629.html 獲取表字段: select * from user_tab_columns where Table_Name='使用者表' order by column_name 獲取表註
ORACLE 獲取資料庫所有表名欄位名
Class.forName(driverClassName); // 建立連線 Connection con = DriverManager.getConnection(url,userName,password); // 建立狀態 Statement stmt = con.cr