CREATE OR REPLACE TABLE

MySQL
(8.0.34)
サポートしていない

Oracle
(23c)
サポートしていない

PostgreSQL
(15)
サポートしていない

SQL Server
(2022)
サポートしていない


AWS Redshift
サポートしていない


Azure Synapse Analytics
サポートしていない

 


GCP BigQuery


-- 1. 前作業

gcloud init
gcloud auth list

gcloud --version

gcloud projects create project01-9999999 \
--name="project01"

gcloud config list
gcloud config set project project01-9999999
gcloud config set compute/region asia-southeast1 --quiet
gcloud config set compute/zone asia-southeast1-a --quiet

gcloud beta billing accounts list
gcloud beta billing projects link project01-9999999 --billing-account=111111-111111-111111

gcloud services enable compute.googleapis.com --project project01-9999999

gcloud components update


-- 2. BigQuery API有効化

gcloud services list --enabled


gcloud services enable bigquery.googleapis.com \
--project project01-9999999


-- 3. BigQueryデータセットを作成する

bq mk ds01

bq ls

 

-- 4. テスト用テーブル、データの作成(コンソールから実行)


create or replace table ds01.tab1
(
  col1 INT 
, col2 STRING
);

 create or replace table ds01.tab2
(
  col1 INT 
, col2 STRING
);

insert into ds01.tab1 values(1,'1');
insert into ds01.tab2 values(2,'2');


select * from ds01.INFORMATION_SCHEMA.TABLES;

insert into ds01.tab1 select * from ds01.tab1;

繰り返し実行して4096件

select count(*) from ds01.tab1;
select count(*) from ds01.tab2;

 

-- 5. 参照中の場合もreplace可能か確認

select count(*) from ds01.tab1 t1 inner join ds01.tab1 t2 on 1=1 inner join ds01.tab1 t3 on 1=1 inner join ds01.tab1 t4 on 1=1;

 


bq query --use_legacy_sql=false \
'create or replace table ds01.tab1 as select * from ds01.tab2;'

参照中のテーブルもreplaceは実行可能

bq query --use_legacy_sql=false \
'select count(*) from ds01.tab1;'

 

 


-- 6. クリーンアップ


gcloud projects list

gcloud projects delete project01-9999999 \
--quiet