Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » MobiLink - 客户端管理 » 用于 MobiLink 的 SQL Anywhere 客户端 » 脚本式上载 » 定义脚本式上载的存储过程

 

定义插入存储过程

插入存储过程必须返回包含所有要上载列的结果集,这些列在 CREATE PUBLICATION 语句中定义,按 CREATE TABLE 语句中声明的顺序列出。

列顺序

使用下面的查询,可获得名为 T1 的表中的列创建顺序:

SELECT column.name
FROM SYSTAB JOIN SYSTABCOL
   WHERE table_name = 't1'
ORDER BY column_id
示例

有关如何定义插入存储过程的详细说明,请参见脚本式上载示例

下面的示例创建一个名为 t1 的表和一个名为 p1 的发布。发布指定 WITH SCRIPTED UPLOAD 并将存储过程 t1_insert 注册为插入过程。在 t1_insert 存储过程的定义中,结果集包含所有在 CREATE PUBLICATION 语句中列出的列,并按在 CREATE TABLE 语句中声明的顺序列出。

CREATE TABLE t1(
   //The column ordering is taken from here
   pk integer primary key,
   c1 char( 30),
   c2,   float,
   c3 double );

CREATE PROCEDURE t1_insert ()
RESULT( pk integer, c1 char(30), c3 double )
begin
   ...
end

CREATE PUBLICATION WITH SCRIPTED UPLOAD p1(
   // Order of columns here is ignored       
   TABLE t1( c3, pk, c1 ) USING ( 
     PROCEDURE t1_insert FOR UPLOAD INSERT 
   )
)