在postgresql中插入包含compsite元素的表时出错
当我尝试插入“hotel”表时,出现以下错误: 错误:无法将类型记录强制转换为chambre 第4行:行(数组[(250,'2 place',300),(200。。。 ^ 详细信息:无法将类型记录[]转换为列1中的整数在postgresql中插入包含compsite元素的表时出错,postgresql,Postgresql,当我尝试插入“hotel”表时,出现以下错误: 错误:无法将类型记录强制转换为chambre 第4行:行(数组[(250,'2 place',300),(200。。。 ^ 详细信息:无法将类型记录[]转换为列1中的整数 create type chambre as( numChambre INTEGER , typeChambre VARCHAR(30), prix REAL);
create type chambre as(
numChambre INTEGER ,
typeChambre VARCHAR(30),
prix REAL);
create table hotel (
nom VARCHAR(30),
Adresse adresse,
positions positions,
Chambres chambre[],
nbPersonnel INTEGER,
nbEtoile INTEGER,
telephone VARCHAR(14));
insert into hotel values( 'president',
row(26,'maraval','oran'),
row(27.5,136),
row(array[(250,'2 place',300),(200,'1 place',250),
(300,'suite',700)]),
60,
4,
'041-45-86-28');
您尚未提供ADRESE位置的详细信息,但对于这些位置,您肯定不需要
行
构造函数
对于chambre
,只需将构造的数组表达式强制转换为chambre[]
。最好始终在INSERT
语句中显式指定列名,以避免混淆
INSERT INTO hotel
(
nom,
adresse,
positions,
chambres,
nbpersonnel,
nbetoile,
telephone
)
VALUES
(
'president',
(26,'maraval','oran'),
(27.5,136),
array[(250,'2 place',300),(200,'1 place',250),(300,'suite',700)] :: chambre[],
60,
4,
'041-45-86-28'
);
请检查我的答案,如果你发现答案有用,请考虑它也会帮助别人。