2010-09-17 80 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指令。只有腳本執行窗口才允許。

相關問題