看来Oracle8的语法有点不同,MS-SQL7的语法是:
CREATE PROC[EDURE] procedure_name [;number]
[
{@parameter data_type} [VARYING] [= default] [OUTPUT]
]
[,...n]
[WITH 
{
RECOMPILE 
| ENCRYPTION 
| RECOMPILE, ENCRYPTION
}
]
[FOR REPLICATION]
AS
sql_statement [...n]例如:
CREATE PROCEDURE Search
@QueryStr varchar(20), 
@Result varchar(1000)  OUTPUT
AS 
......也可以把类型指定为TEXT。不知道对您有否帮助?

解决方案 »

  1.   

    varchar2存储2000个字符,delphi的ansistring可达2GB.
    你在storedproc中指定了输出参数什么类型?
      

  2.   

    上面的存储过程是用 BDE 调用的,取返回值是这样取的:
    var
      spResult: string;
    begin
      //spSearch 就是调用存储过程 Search 的 TStoredProc
      spResult := spSearch.ParamByName('RESULT').AsString;
    end;我改用 ADO 就没问题了,可是 ADO 的连接速度和执行速度都明显要比 BDE 慢,我现在做的程序对速度要求很高,还是希望能用 BDE.希望各位英雄能帮忙想想办法,谢谢!!!
      

  3.   

    我也遇到这样的问题,问题是出在Fields对象的数据类型不支持Varchar,只支持string,最多256个字符,关注!