2010-09-17 66 views
1

查询是:为什么不能执行这个alter procedure firebird查询?

 
SET TERM^; 
ALTER PROCEDURE SALVARROTA (
    datahora timestamp, 
    distancia double precision, 
    custo double precision, 
    capacidadelivre double precision, 
    capacidadetotal double precision, 
    nome varchar(50), 
    depositox double precision, 
    depositoy double precision, 
    chegadax double precision, 
    chegaday double precision, 
    arquivoshp blob sub_type 0 segment size 80, 
    arquivodbf blob sub_type 0 segment size 80, 
    arquivoshx blob sub_type 0 segment size 80, 
    veiculo varchar(50), 
    placa varchar(8), 
    valor double precision) 
returns (
    id integer) 
as 
BEGIN  INSERT INTO ROTAS 
     (DATAHORA, DISTANCIA, CUSTO, CAPACIDADELIVRE, CAPACIDADETOTAL, NOME, DEPOSITOX, DEPOSITOY, CHEGADAX, CHEGADAY, ARQUIVOSHP, ARQUIVODBF, ARQUIVOSHX, VEICULO, PLACA, VALOR) 
VALUES (:DATAHORA, :DISTANCIA, :CUSTO, :CAPACIDADELIVRE, :CAPACIDADETOTAL, :NOME, :DEPOSITOX, :DEPOSITOY, :CHEGADAX, :CHEGADAY, :ARQUIVOSHP, :ARQUIVODBF, :ARQUIVOSHX, :VEICULO, :PLACA, :VALOR); 
SELECT GEN_ID (GEN_ROTAS_ID,0) FROM RDB$DATABASE INTO ID;  SUSPEND; END 
^ 

SET TERM ;^

我得到的错误:

 
Invalid token. 
Dynamic SQL Error. 
SQL error code = -104. 
Token unknown - line 1, column 5. 
TERM.

我使用IBExpert来执行它,它的2.1火鸟DB

回答

0

IBExpert自动生成脚本(使用存储过程编辑器并点击flash按钮),然后按下按钮“复制脚本”

我觉得他们总是做CREATE OR ALTER PROCEDURE。 ..

1

不要在IBExpert的SQL编辑器窗口中使用SET TERM指令。只有脚本执行窗口才允许。

相关问题