Postgresql 使用循环插入10行的查询

Postgresql 使用循环插入10行的查询,postgresql,transactions,Postgresql,Transactions,我试图在PostgreSQL中使用此查询生成10行,但它不起作用。第一列是“zoneID”,第二列是“累加器”。ZoneID必须介于0到10之间,累加器保持为0。有人知道发生了什么吗 DECLARE @first AS INT SET @first = 1 DECLARE @step AS INT SET @step = 1 DECLARE @last AS INT SET @last = 10 BEGIN TRANSACTION WHILE(@first <= @last) BEGIN

我试图在PostgreSQL中使用此查询生成10行,但它不起作用。第一列是“zoneID”,第二列是“累加器”。ZoneID必须介于0到10之间,累加器保持为0。有人知道发生了什么吗

DECLARE @first AS INT
SET @first = 1
DECLARE @step AS INT
SET @step = 1
DECLARE @last AS INT
SET @last = 10

BEGIN TRANSACTION
WHILE(@first <= @last) BEGIN INSERT INTO classifier VALUES(@first) SET @first += @step 
END 
COMMIT TRANSACTION
将@first声明为INT
设置@first=1
将@step声明为INT
设置@step=1
将@last声明为INT
设置@last=10
开始交易

WHILE(@first您可以在不使用循环的情况下实现它。请尝试以下操作:

INSERT INTO classifier (zoneID, crimeCounter)
SELECT x.zoneID, 0
  FROM generate_series(1,10) AS x(zoneID);

累加器保持为0。
我假设您希望将累加器列value中的值保持为0。

您可以在不使用循环的情况下实现它。尝试以下操作:

INSERT INTO classifier (zoneID, crimeCounter)
SELECT x.zoneID, 0
  FROM generate_series(1,10) AS x(zoneID);

累加器保持为0。
我假设您希望将累加器列值中的值保持为0。

您在手册的何处找到此语法?尤其是
@
用法?您在手册的何处找到此语法?尤其是
@
用法?不起作用。该表称为“分类器”我用于创建模式:创建表分类器(zoneID SMALLINT,crimeCounter SMALLINT DEFAULT 0 NOT NULL,primary key(zoneID));我用于查询:插入分类器(zoneID,累加器)选择分类器。zoneID,0 FROM generate_series(1,10)作为分类器(zoneID);@JoelCorman:-更新了答案。请立即尝试查询!@JoelCorman:-您收到的错误消息是什么?不起作用。表名为“分类器”,我用于创建架构:创建表分类器(zoneID SMALLINT,crimeCounter SMALLINT默认值0非空,主键(zoneID));我将其用于查询:插入分类器(zoneID,累加器)选择classifier.zoneID,从generate_系列(1,10)中选择0作为classifier(zoneID);@JoelCorman:-更新了答案。立即尝试查询!@JoelCorman:-您收到的错误消息是什么?