通过存储过程插入行 (Informix)
Inserting row via stored procedure (Informix)
是否可以创建一个存储过程,将行插入到 table 中,其中的值取自过程参数?我正在使用 Informix。 :-(
说明您是如何创建和执行过程的。
您在问题评论中给出的示例有效:
[infx1210@tardis ~]$ dbaccess pavle -
Database selected.
> CREATE TABLE tab1(
> col1 VARCHAR(8),
> col2 INTEGER,
> col3 INTEGER
> );
Table created.
> CREATE PROCEDURE sp1 (a VARCHAR(8), b INTEGER, c INTEGER)
> INSERT INTO tab1 (col1,col2,col3) VALUES (a,b,c);
> END PROCEDURE;
Routine created.
> EXECUTE PROCEDURE sp1 ('test sp1',1,2);
Routine executed.
> SELECT * FROM tab1;
col1 col2 col3
test sp1 1 2
1 row(s) retrieved.
>
Database closed.
[infx1210@tardis ~]$
在 SQuirreL 上,您必须暂时将 Statement Separator 更改为其他内容。
转到文件菜单和select新建会话属性,转到SQL 选项卡并将 语句分隔符 更改为 \
.
重新连接并尝试:
CREATE PROCEDURE sp1 (a VARCHAR(8), b INTEGER, c INTEGER)
INSERT INTO tab1 (col1,col2,col3) VALUES (a,b,c);
END PROCEDURE\
是否可以创建一个存储过程,将行插入到 table 中,其中的值取自过程参数?我正在使用 Informix。 :-(
说明您是如何创建和执行过程的。
您在问题评论中给出的示例有效:
[infx1210@tardis ~]$ dbaccess pavle -
Database selected.
> CREATE TABLE tab1(
> col1 VARCHAR(8),
> col2 INTEGER,
> col3 INTEGER
> );
Table created.
> CREATE PROCEDURE sp1 (a VARCHAR(8), b INTEGER, c INTEGER)
> INSERT INTO tab1 (col1,col2,col3) VALUES (a,b,c);
> END PROCEDURE;
Routine created.
> EXECUTE PROCEDURE sp1 ('test sp1',1,2);
Routine executed.
> SELECT * FROM tab1;
col1 col2 col3
test sp1 1 2
1 row(s) retrieved.
>
Database closed.
[infx1210@tardis ~]$
在 SQuirreL 上,您必须暂时将 Statement Separator 更改为其他内容。
转到文件菜单和select新建会话属性,转到SQL 选项卡并将 语句分隔符 更改为 \
.
重新连接并尝试:
CREATE PROCEDURE sp1 (a VARCHAR(8), b INTEGER, c INTEGER)
INSERT INTO tab1 (col1,col2,col3) VALUES (a,b,c);
END PROCEDURE\