背景资料:
我需要在表中自动生成一堆记录。我仅有的一条信息是开始范围和结束范围。假设我的表格如下所示:
id
widgetnumber
Run Code Online (Sandbox Code Playgroud)
该逻辑需要包含在.sql文件中。
我正在运行PostgreSQL
码
这是我到目前为止的...作为测试...似乎正在工作:
DO $$
DECLARE widgetnum text;
BEGIN
SELECT 5 INTO widgetnum;
INSERT INTO widgets VALUES(DEFAULT, widgetnum);
END $$;
Run Code Online (Sandbox Code Playgroud)
然后运行它,我从数据库服务器上的命令行执行此操作:
testbox:/tmp# psql -U myuser -d widgets -f addwidgets.sql
DO
Run Code Online (Sandbox Code Playgroud)
问题
我将如何修改此代码以遍历一系列小部件编号并将其全部插入?例如,将为我提供一个开始范围和一个结束范围(比如说100到150)
您能指出我一个很好的在线资源来学习我应该使用的语法吗?
谢谢。
我将如何修改此代码以遍历一系列小部件编号并将其全部插入?
您可以为此使用generate_series()。
insert into widgets (widgetnumber)
select i
from generate_series(100, 150) as t(i);
Run Code Online (Sandbox Code Playgroud)
您能指出我一个很好的在线资源来学习我应该使用的语法吗?
https://www.postgresql.org/docs/current/static/index.html
| 归档时间: |
|
| 查看次数: |
2049 次 |
| 最近记录: |