Sql 如何在oracle中使用默认值从现有的2个表创建表
我想从现有的2个表选择列创建新表,新列包含类似于“99999999”的伪值 我试过下面的代码Sql 如何在oracle中使用默认值从现有的2个表创建表,sql,oracle,oracle11g,ddl,Sql,Oracle,Oracle11g,Ddl,我想从现有的2个表选择列创建新表,新列包含类似于“99999999”的伪值 我试过下面的代码 CREATE TABLE NewTbl1 AS SELECT a.col1, a.col2, a.col3, b.col4, b.col5, dummycol= '99999999' FROM tbl1 a tbl2 b WHERE (a.col1 = b.colNum AND a.col2 = b.colnum1) 但我得到一个错误,从关键字没有找到。如果我删除dum
CREATE TABLE NewTbl1
AS
SELECT a.col1, a.col2, a.col3, b.col4, b.col5, dummycol= '99999999'
FROM tbl1 a tbl2 b
WHERE (a.col1 = b.colNum AND a.col2 = b.colnum1)
但我得到一个错误,从关键字没有找到。如果我删除dummcol='9999999',那么它将正确执行
这是对的还是错的?如果错误,请更正我使用正确的
join
语法,并对别名使用正确的语法:
CREATE TABLE NewTbl1 as
SELECT a.col1, a.col2, a.col3, b.col4, b.col5, '99999999' as dummycol
FROM tbl1 a JOIN
tbl2 b
ON a.col1 = b.colNum AND a.col2 = b.colnum1;
“9999999999”作为dummycol我将如何向dummycol提供数据类型?因为它的默认值是characture,但我想要作为数字您可以使用cast-
cast(999999999作为数字)作为dummycol
@dwan。删除单引号--“不过,我不确定它最终是数字还是整数。显式强制转换可用于更具体地指定类型。@Stawros-query run,但当我要打开它时,告诉我从“DBNULL”到“integer”的转换无效的错误信息。
CREATE TABLE NewTbl1
AS
SELECT a.col1, a.col2, a.col3, b.col4, b.col5, '99999999' as dummycol
FROM tbl1 a, tbl2 b
WHERE (a.col1 = b.colNum AND a.col2 = b.colnum1)