תצוגת 'תצוגות'
התצוגה INFORMATION_SCHEMA.VIEWS מכילה מטא-נתונים על צפיות.
ההרשאות הנדרשות
כדי להציג מטא-נתונים, אתם צריכים את ההרשאות הבאות בניהול הזהויות והרשאות הגישה (IAM):
bigquery.tables.getbigquery.tables.list
כל אחד מתפקידי ה-IAM המוגדרים מראש הבאים כולל את ההרשאות שדרושות לכם כדי להציג את המטא-נתונים:
roles/bigquery.adminroles/bigquery.dataEditorroles/bigquery.metadataViewerroles/bigquery.dataViewer
מידע נוסף על הרשאות ב-BigQuery זמין במאמר בקרת גישה באמצעות IAM.
סכימה
כששולחים שאילתה לתצוגה INFORMATION_SCHEMA.VIEWS, תוצאות השאילתה מכילות שורה אחת לכל תצוגה במערך נתונים.
לתצוגה INFORMATION_SCHEMA.VIEWS יש את הסכימה הבאה:
| שם העמודה | סוג נתונים | ערך |
|---|---|---|
table_catalog |
STRING |
שם הפרויקט שמכיל את מערך הנתונים |
table_schema |
STRING |
השם של מערך הנתונים שמכיל את התצוגה, שנקרא גם מערך הנתונים id |
table_name |
STRING |
שם התצוגה, שנקרא גם שם הטבלה id |
view_definition |
STRING |
שאילתת ה-SQL שמגדירה את התצוגה |
check_option |
STRING |
הערך שמוחזר הוא תמיד NULL |
use_standard_sql |
STRING |
YES אם התצוגה נוצרה באמצעות שאילתת GoogleSQL, NO אם הערך של useLegacySql מוגדר ל-true |
כדי לשמור על יציבות, מומלץ לציין במפורש את העמודות בשאילתות של סכימת המידע, במקום להשתמש בתו כל כללי (SELECT *). ציון מפורש של העמודות מונע את השבירה של השאילתות אם הסכימה הבסיסית משתנה.
היקף ותחביר
שאילתות שמופעלות על התצוגה הזו חייבות לכלול מערך נתונים או מסווג אזור. לשאילתות עם מזהה מערך נתונים, צריכות להיות לכם הרשאות למערך הנתונים. כדי להריץ שאילתות עם מסנן אזור, צריך הרשאות בפרויקט. מידע נוסף מופיע במאמר בנושא תחביר. בטבלה הבאה מוסברות רמות הפירוט של האזור והמשאבים בתצוגה הזו:
| שם התצוגה | היקף המשאבים | היקף האזור |
|---|---|---|
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.VIEWS |
ברמת הפרויקט | REGION |
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.VIEWS |
רמת מערך הנתונים | מיקום מערך הנתונים |
-
אופציונלי:
PROJECT_ID: מזהה הפרויקט ב- Google Cloud . אם לא מציינים פרויקט, המערכת משתמשת בפרויקט שמוגדר כברירת מחדל. -
REGION: כל שם של אזור במערך נתונים. לדוגמה,`region-us`. -
DATASET_ID: המזהה של מערך הנתונים. מידע נוסף מופיע במאמר בנושא מאפיין מסנן של מערך נתונים.
לדוגמה:
-- Returns metadata for views in a single dataset.
SELECT * FROM myDataset.INFORMATION_SCHEMA.VIEWS;
-- Returns metadata for all views in a region.
SELECT * FROM region-us.INFORMATION_SCHEMA.VIEWS;
דוגמאות
דוגמה 1:
בדוגמה הבאה מאוחזרות כל העמודות מהתצוגה INFORMATION_SCHEMA.VIEWS
חוץ מהעמודה check_option ששמורה לשימוש עתידי. המטא-נתונים שמוחזרים הם של כל התצוגות ב-mydataset בפרויקט ברירת המחדל – myproject.
כדי להריץ את השאילתה על פרויקט שאינו פרויקט ברירת המחדל, מוסיפים את מזהה הפרויקט למערך הנתונים בפורמט הבא: `project_id`.dataset.INFORMATION_SCHEMA.view. לדוגמה: `myproject`.mydataset.INFORMATION_SCHEMA.VIEWS.
SELECT * EXCEPT (check_option) FROM mydataset.INFORMATION_SCHEMA.VIEWS;
INFORMATION_SCHEMA
התוצאה אמורה להיראות כך:
+----------------+---------------+---------------+---------------------------------------------------------------------+------------------+ | table_catalog | table_schema | table_name | view_definition | use_standard_sql | +----------------+---------------+---------------+---------------------------------------------------------------------+------------------+ | myproject | mydataset | myview | SELECT column1, column2 FROM [myproject:mydataset.mytable] LIMIT 10 | NO | +----------------+---------------+---------------+---------------------------------------------------------------------+------------------+
שימו לב: התוצאות מראות שהתצוגה הזו נוצרה באמצעות שאילתת SQL מדור קודם.
דוגמה 2:
בדוגמה הבאה מאחזרים את שאילתת ה-SQL ואת תחביר השאילתה שמשמשים להגדרת myview ב-mydataset בפרויקט ברירת המחדל – myproject.
כדי להריץ את השאילתה על פרויקט שאינו פרויקט ברירת המחדל, מוסיפים את מזהה הפרויקט למערך הנתונים בפורמט הבא: `project_id`.dataset.INFORMATION_SCHEMA.view. לדוגמה: `myproject`.mydataset.INFORMATION_SCHEMA.VIEWS.
SELECT table_name, view_definition, use_standard_sql FROM mydataset.INFORMATION_SCHEMA.VIEWS WHERE table_name = 'myview';
INFORMATION_SCHEMA
התוצאה אמורה להיראות כך:
+---------------+---------------------------------------------------------------+------------------+
| table_name | view_definition | use_standard_sql |
+---------------+---------------------------------------------------------------+------------------+
| myview | SELECT column1, column2, column3 FROM mydataset.mytable | YES |
+---------------+---------------------------------------------------------------+------------------+
שימו לב שהתוצאות מראות שהתצוגה הזו נוצרה באמצעות שאילתת GoogleSQL.