我正在使用C#根据bigquery api表端点的响应动态构造查询。我正在尝试计算有效的用户,但前提是我选择了.*
的每个表。我的问题很简单,有没有办法检查BigQuery SQL中是否存在表?
答案 0 :(得分:5)
有名为$ ./odoo/odoo-bin -d todo -u todo_app --test-enable
2017-03-17 14:25:28,617 6873 INFO ? odoo: Odoo version 10.0
2017-03-17 14:25:28,618 6873 INFO ? odoo: Using configuration file at /home/odoo/.odoorc
2017-03-17 14:25:28,618 6873 INFO ? odoo: addons paths: ['/home/odoo/.local/share/Odoo/addons/10.0', u'/home/odoo/odoo-dev/custom-addons', u'/home/odoo/odoo-dev/odoo/addons', '/home/odoo/odoo-dev/odoo/odoo/addons']
2017-03-17 14:25:28,619 6873 INFO ? odoo: database: default@default:default
2017-03-17 14:25:28,832 6873 INFO ? odoo.service.server: HTTP service (werkzeug) running on 0.0.0.0:8069
2017-03-17 14:25:29,558 6873 INFO todo odoo.modules.loading: loading 1 modules...
2017-03-17 14:25:29,996 6873 INFO todo odoo.modules.loading: 1 modules loaded in 0.44s, 0 queries
2017-03-17 14:25:41,792 6873 INFO todo odoo.modules.loading: loading 13 modules...
2017-03-17 14:25:42,001 6873 INFO todo odoo.modules.registry: module todo_app: creating or updating database tables
2017-03-17 14:25:42,889 6873 INFO todo odoo.modules.loading: 13 modules loaded in 1.10s, 0 queries
2017-03-17 14:25:43,059 6873 WARNING todo odoo.modules.loading: The model todo.task has no access rules, consider adding one. E.g. access_todo_task,access_todo_task,model_todo_task,,1,0,0,0
2017-03-17 14:25:43,625 6873 INFO todo odoo.modules.loading: Modules loaded.
2017-03-17 14:25:43,630 6873 INFO todo odoo.modules.loading: All post-tested in 0.00s, 0 queries
和__TABLES__
您可以运行如下查询:
__TABLES_SUMMARY__
该查询的SELECT size_bytes FROM <dataset>.__TABLES__ WHERE table_id='mytablename'
部分可能看起来不熟悉。 __TABLES__
是一个元表,包含有关数据集中表的信息。您可以自己使用此元表。例如,查询__TABLES_SUMMARY__
将返回有关SELECT * FROM publicdata:samples.__TABLES_SUMMARY__
数据集中表格的元数据。您也可以publicdata:samples
可用字段:
SELECT * FROM publicdata:samples.__TABLES__
元表的字段(__TABLES_SUMMARY__
查询中都可用)包括:
TABLE_QUERY
:表格的名称。table_id
:表格创建后的时间,自1970年1月1日UTC以来的毫秒数。这与表中的creation_time
字段相同。creation_time
:无论是视图(2)还是常规表(1)。 type
中的以下字段不,因为它们是TABLE_QUERY()
的成员,但不是__TABLES__
的成员。他们留在这里是为了历史,并部分记录__TABLES_SUMMARY__
metatable:
__TABLES__
:自1970年1月1日UTC以来的毫秒,表格已更新(元数据或表格内容)。请注意,如果您使用last_modified_time
将记录流式传输到您的表格,则可能会过时几分钟。tabledata.insertAll()
:表格中的行数。row_count
:表格的总大小(以字节为单位)。答案 1 :(得分:2)
#standardSQL
SELECT COUNT(1) AS cnt
FROM `project.dataset.__TABLES_SUMMARY__`
WHERE table_id = 'mytable'