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);
我正在尝试使用在线教程使用 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);