1. oracle 將一個數據庫(A)的表導入到另一個數據庫 concat沒有mysql的好使
2. 解決需求:通過建表的形式,將數據庫A的表結構,在另一個數據庫中創建
--查詢表字段 select * from all_tab_columns WHERE TABLE_NAME=='用戶表名' --拼接建表sql語句 SELECT CONCAT( 'CREATE TABLE "ZHILICENG".', CONCAT( concat( '"', concat( TABLE_NAME, '"' )),-- 表名加"" concat( ' (', concat( ' ', concat( wm_concat ( CASE-- 這里根據不同字段生成不同的默認值 WHEN column_name = 'ID' THEN -- 如果column_name為id則加一個自動生成id函數 並且不為null '"' || column_name || '"' || ' ' || DATA_TYPE || '(' || DATA_LENGTH || ') DEFAULT sys_guid () NOT NULL' WHEN column_name = 'ADD_DATE' THEN -- 如果column_name為ADD_DATE則加一個自動當前時間 '"' || column_name || '"' || ' ' || DATA_TYPE || '(' || DATA_LENGTH || ') DATE DEFAULT SYSDATE ' ELSE '"' || column_name || '"' || ' ' || DATA_TYPE || '(' || DATA_LENGTH || ')' --否則拼接字段名、字段類型、字段大小 END ), ')' ) ) ) ) ) AS createTable FROM all_tab_columns WHERE TABLE_NAME IN ( -- 查詢原始曾現有的表 而治理層不存在的表 SELECT TABLE_NAME FROM all_tables WHERE owner = 'YUANSHICENG' AND TABLE_NAME NOT IN ( SELECT TABLE_NAME FROM all_tables WHERE owner = 'ZHILICENG' ) ) GROUP BY TABLE_NAME