Menambahkan tanggal hari ini pada nama Tabel saat menggunakan fungsi Buat Tabel di sql GBQ standar

Saya cukup baru di GBQ dan bantuan apa pun sangat kami hargai.

Saya punya pertanyaan di bawah ini:

#Standard SQL
create or replace table  `xxx.xxx.applications`
as select * from  `yyy.yyy.applications` 

Yang perlu saya lakukan adalah menambahkan tanggal hari ini di akhir nama tabel sehingga menjadi seperti xxx.xxx.applications_<todays date> pada dasarnya membuat nama file dengan Aplikasi tetapi menambahkan tanggal di akhir nama aplikasi.

Saya sedang menulis prosedur untuk membuat tabel setiap kali dijalankan tetapi perlu menambahkan tanggal untuk tujuan audit setiap kali saya membuat tabel (sebagai cadangan). Saya mencari kemana-mana dan tidak mendapatkan jawaban pastinya, apakah ini mungkin di Editor Kueri karena saya perlu menyimpannya sebagai Proc.

Terima kasih sebelumnya


person Frank    schedule 09.05.2020    source sumber
comment
Hal ini memerlukan SQL dinamis, yang belum tersedia di BigQuery.   -  person Yun Zhang    schedule 10.05.2020
comment
Saya rasa ini tidak bisa dilakukan melalui UI bigquery.   -  person irvifa    schedule 10.05.2020
comment
mengapa Anda menginginkan meja yang berbeda untuk setiap hari? tabel yang dipartisi tanggal mungkin bekerja lebih baik   -  person Felipe Hoffa    schedule 11.05.2020
comment
Apa tujuanmu? Jika Anda perlu membuat tabel yang dipartisi dengan tanggal hari ini, Anda dapat menggunakan tabel yang dipartisi berdasarkan waktu penyerapan   -  person rmesteves    schedule 11.05.2020
comment
Jika jawabannya bermanfaat, pertimbangkan untuk menerima dan memberi suara positif. Anda dapat menerimanya dengan mengeklik ✓ dan memberi suara positif dengan mengeklik ▲   -  person rmesteves    schedule 20.05.2020


Jawaban (1)


BigQuery saat ini tidak mendukung SQL dinamis yang berarti konstruksi semacam ini tidak dimungkinkan. Saat ini BigQuery mendukung Kueri yang Diparameterisasi namun tidak dimungkinkan menggunakan parameter untuk mengubah secara dinamis nama tabel sumber seperti yang Anda lihat di tautan yang disediakan.

BigQuery mendukung parameter kueri untuk membantu mencegah injeksi SQL saat kueri dibuat menggunakan input pengguna. Fitur ini hanya tersedia dengan sintaks SQL standar. Parameter kueri dapat digunakan sebagai pengganti ekspresi arbitrer. Parameter tidak dapat digunakan sebagai pengganti pengidentifikasi, nama kolom, nama tabel, atau bagian lain dari kueri.

Jika Anda perlu membuat kueri berdasarkan nilai beberapa variabel, saya sarankan Anda menggunakan beberapa skrip dalam SHELL, Python atau bahasa pemrograman lainnya untuk membuat pernyataan SQL dan kemudian menjalankannya menggunakan bq.

Pendekatan lain dapat menggunakan BigQuery pustaka klien dalam beberapa bahasa yang didukung dari perintah bq.

person rmesteves    schedule 13.05.2020