当业务逻辑比较复杂时,需要将多层嵌套写在DML语句中,但是这种方式定位问题比较困难。此时,您可以通过定义数据视图的方式,将多层嵌套写在数据视图中,简化开发过程。
说明
数据视图仅用于辅助计算逻辑的描述,不会产生数据的物理存储。
语法
CREATE TEMPORARY VIEW viewName AS [ (columnName[ , columnName]* ) ] queryStatement;
viewName:视图名称。
columnName:字段名称。
queryStatement:嵌套语句别名。
示例
--源表
CREATE TEMPORARY TABLE datagen_source (
name VARCHAR,
score BIGINT
) WITH (
'connector' = 'datagen',
'number-of-rows' = '10'
);
--结果表
CREATE TEMPORARY TABLE rds_output (
name VARCHAR,
score BIGINT
) WITH (
'connector' = 'blackhole'
);
--数据视图
CREATE TEMPORARY VIEW tmp_view AS
SELECT
*
FROM
datagen_source;
--DML
INSERT INTO
rds_output
SELECT
name,
score
FROM
tmp_view;