Sql 创建具有硬编码值的视图,而不写入insert

Sql 创建具有硬编码值的视图,而不写入insert,sql,oracle,Sql,Oracle,嗨,我正在用以下方式创建一个视图 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”。在创建视图时可以这样做吗?我已经看到了,但我无法理解它如何适合我的情况。当然,

嗨,我正在用以下方式创建一个视图

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”。在创建视图时可以这样做吗?我已经看到了,但我无法理解它如何适合我的情况。

当然,只需将其作为常量值添加即可:

SELECT 'abc' as id,
        CAST("state" AS CHAR(2)),
        CAST(LOCALITY_NAME AS CHAR(31)),
FROM tableB
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;

CAST(“state”为CHAR(2))
a打字错误,因为
state
超过2个字符?否,state为表B中的列,state列中的值为。我还需要将id的数据类型设置为CHAR(3)。我可以在这里自己做吗?我会认为它是自动的
char(3)
。但不能肯定。