2013-07-10 45 views
0

嗨,我是创建以下列方式创建硬编码值的视图,而无需编写插入

CREATE OR REPLACE FORCE VIEW tableA (field1, field2) 
AS 
    SELECT 
    CAST("state" AS  CHAR(2)), 
    CAST("LOCALITY_NAME" AS CHAR(31)), 
    FROM tableB; 

我需要添加一个称为“id”更多柱,并用硬编码值'填充它的视图abc'的所有行。创建视图时可以这样做吗?我曾见过this thread,但我无法理解它适合我的情况。

+0

是'CAST( “状态” 为char(2))'一个错字,因为'state'比2个charatcers长? –

+0

不,状态是表B中的列,状态列中的值是<= 2个字符 – learningnothing

回答

2
SELECT 'abc' as id, 
     CAST("state" AS CHAR(2)), 
     CAST(LOCALITY_NAME AS CHAR(31)), 
FROM tableB 
+0

我还需要将id的数据类型设置为char(3)。我可以在这里做到这一点吗? – learningnothing

+0

我原以为它是'char(3)'自动。但不能肯定地说。 –

+0

谢谢你,我会尝试和发布它在这里,如果它需要char(3) – learningnothing

0

当然,只是将其添加为constanct值:

CREATE OR REPLACE FORCE VIEW tableA (field1, field2) 
AS 
    SELECT 
    CAST("state" AS  CHAR(2)), 
    CAST("LOCALITY_NAME" AS CHAR(31)), 
    'abc' AS id 
    FROM tableB;