kassa_akt_revizii_parser('','','') returns field(per_monets_5,per_monets_10,per_monets_25,per_monets_50,per_rub_1,per_rub_5,per_rub_10,per_rub_25,per_rub_50,per_rub_100,per_rub_200,per_rub_500,per_val_376,per_val_428,per_val_498,per_val_643,per_val_840,per_val_978,per_val_980)
我们需要在表格中插入:
insert into kassa_akt_revizii_pereschet(
id_akt_revizii,per_monets_5,per_monets_10,per_monets_25,per_monets_50,
per_rub_1, per_rub_5, per_rub_10, per_rub_25, per_rub_50,
per_rub_100, per_rub_200, per_rub_500,per_val_376,
per_val_428, per_val_498, per_val_643, per_val_840,
per_val_978, per_val_980)
values(50, kassa_akt_revizii_parser('','',''));
INSERT中的列数与VALUES的数量不匹配
答案 0 :(得分:2)
INSERT中的列数与VALUES的数量不匹配
您的错误消息只是表示插入(列)与您插入的(值)数量不匹配。
再次检查并重新插入。
插入查询:
insert into tablename (column1,column2,...column50) values (value1,value2...value50)
答案 1 :(得分:1)
尝试这种方式:
INSERT INTO kassa_akt_revizii_pereschet(
id_akt_revizii,
per_monets_5,
per_monets_10,
per_monets_25,
per_monets_50,
per_rub_1,
per_rub_5,
per_rub_10,
per_rub_25,
per_rub_50,
per_rub_100,
per_rub_200,
per_rub_500,
per_val_376,
per_val_428,
per_val_498,
per_val_643,
per_val_840,
per_val_978,
per_val_980
)
SELECT 50, *
FROM TABLE(kassa_akt_revizii_parser('','',''));
示例:
[infx1210@tardis ~]$ dbaccess -e db1 test.sql
Database selected.
CREATE TABLE tab1( col1 INT, COL2 INT, COL3 INT);
Table created.
CREATE FUNCTION sp1() RETURNING INT, INT
RETURN 1, 2;
END FUNCTION;
Routine created.
;
INSERT INTO tab1 VALUES (0, sp1());
236: Number of columns in INSERT does not match number of VALUES.
Error in line 7
Near character position 26
INSERT INTO tab1
SELECT 1, *
FROM TABLE(sp1());
1 row(s) inserted.
SELECT * FROM tab1;
col1 col2 col3
1 1 2
1 row(s) retrieved.
Database closed.
[infx1210@tardis ~]$