【发布时间】:2021-07-05 12:35:37
【问题描述】:
我正在尝试创建一个存储过程来将数据插入到 PostgreSQL 13 数据库的表中。如何自动输入主键?
这是我制作桌子的方法
CREATE TABLE public.testing_serial
(
id integer NOT NULL DEFAULT nextval('testing_serial_id_seq'::regclass),
name character varying COLLATE pg_catalog."default",
age integer,
CONSTRAINT testing_serial_pkey PRIMARY KEY (id)
)
这是我对存储过程的尝试并调用它
CREATE OR REPLACE PROCEDURE test_input("name" character varying,
"age" integer)
LANGUAGE SQL
AS $$
INSERT INTO testing_serial VALUES ("name","age");
$$;
CALL test_input('Cheese',2000);
我收到以下错误并推测 SQL 期望输入“id”列。那是对的吗?输入时如何自动生成ID?
错误:列“id”是整数类型,但表达式是字符变化类型
第 5 行:INSERT INTO testing_serial VALUES ("name","age"); ^ 提示:您将需要重写或强制转换表达式。 SQL 状态:42804 字符:145
【问题讨论】:
标签: postgresql stored-procedures