Informix SQL / 在 table 中插入存储过程的结果

Informix SQL / insert result of stored procedure in table

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)

我们需要插入一个 table:

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 中的列数不匹配

Number of columns in INSERT does not match number of VALUES

您的错误消息仅表示 while insert(列)与您插入的(值)的数量不匹配。

再次检查并重新插入。

插入查询:

insert into tablename (column1,column2,...column50) values (value1,value2...value50)

试试这个方法:

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 ~]$