SQL 使用 INSERT INTO 构建 table 时出错

SQL error using INSERT INTO to build a table

我正在尝试使用在线教程使用 INSERT INTO 在 SAS Enterprise Guide 中组合一个 table,但是当我按照教程做同样的事情时,总是出现错误。可能出了什么问题?

我的代码:

/* Create the table */ 
   CREATE TABLE Summary_1920 (
      Variable VARCHAR(255), 
      Count INT, 
      Percentage FLOAT ); 
/* Create and insert the variable names */
   INSERT INTO Summary_1920 
      (Variable, Count, Percentage)
   VALUES 
      ("Variable1", 100, 90.8),
      ("Variable2", 8, 7.0);

QUIT; 

错误:

28               ("IntName", 100, 90.8),
                                       _
                                       22
                                       200
ERROR 22-322: Syntax error, expecting one of the following: ;, VALUES.  

ERROR 200-322: The symbol is not recognized and will be ignored.

这是我第一次使用 SAS EG/SQL 所以它可能非常明显,但我多年来一直在努力解决这个问题。感谢您的任何见解。

有意思。看起来 proc sql 不允许您使用单个 VALUES 子句插入多行。所以只需使用两个语句:

INSERT INTO Summary_1920 (Variable, Count, Percentage)
    VALUES ("Variable1", 100, 90.8);

INSERT INTO Summary_1920 (Variable, Count, Percentage)
    VALUES ("Variable2", 8, 7.0);

我认为它也支持在一条语句中包含多个 VALUES 子句:

INSERT INTO Summary_1920 (Variable, Count, Percentage)
    VALUES ("Variable1", 100, 90.8)
    VALUES ("Variable2", 8, 7.0);

这不是 SQL 标准语法,我不熟悉支持它的任何其他数据库。您带逗号的版本是标准版本——或者至少受大多数数据库支持。

我认为你的 sql 权限有限制,我试过你的代码,它工作正常 This is after the query executed

  • 如何您可以尝试一个一个地插入并检查您是否再次遇到错误,试试这个:

    创建 TABLE Summary_1920 ( 变量 VARCHAR(255), 计数 INT, 百分比 FLOAT );

然后也执行这个
INSERT INTO Summary_1920(变量、计数、百分比) VALUES ("变量 1", 100, 90.8);
INSERT INTO Summary_1920(变量、计数、百分比) VALUES ("Variable2", 8, 7.0);