在SQL Server和Oracle中运行相同的未修改查询

时间:2011-07-04 14:40:22

标签: sql sql-server oracle

我想在Oracle和SQL Server上运行查询。我遇到的问题是查询插入一个名为PERCENT的列,我相信它是SQL Server中的一个关键字。

这样的直接插入在SQL Server上失败

INSERT INTO testtable
  (PERCENT,VALUE) 
VALUES
  (50,'test');

要克服上述SQL Server,如果将其更改为以下

之一,则允许它
INSERT INTO testtable
  ([PERCENT],[VALUE]) 
VALUES
  (50,'test');

INSERT INTO testtable
  ("PERCENT","VALUE") 
VALUES
  (50,'test');

现在的问题是Oracle不支持上述任何格式。 Oracle只允许这种格式:

INSERT INTO testtable
  (PERCENT,VALUE) 
VALUES
  (50,'test');

有没有办法在Oracle和SQL Server上运行上述查询而没有任何问题?

1 个答案:

答案 0 :(得分:3)

实际上,Oracle 支持支持这种格式:

insert into testtable("PERCENT","VALUE") values(50,'test');

以下是我的SQL Plus会话的直接粘贴:

SQL> create table testtable (percent number, value varchar2(20));

Table created.

SQL> insert into testtable ("PERCENT", "VALUE") values (50, 'test');

1 row created.