请问如何在程序中动态创建存储过程?
我的代码如下:
var
  AdoQuery: TADOQuery;
begin
  AdoQuery := TADOQuery.Create(nil);
  with AdoQuery do try
    Connection := AdoConnct;
    Close;
    SQL.Clear;
    SQL.Add('IF EXISTS(SELECT name FROM sysobjects WHERE  type=''P'' and name=''Proc_Operator'''+
            ' DROP PROCEDURE Proc_Operator');
    ExecSQL;
    Close;
    SQL.Clear;
    SQL.Add('CREATE PROCEDURE Proc_Operator'+
            ' @EditFlag bit,@F_OperNO varchar(10),@F_OperName varchar   (20),@F_Re varchar(100)'+
            ' AS if @EditFlag=0 Begin BEGIN TRAN Insert into T_Operator'+
            ' (F_OperNO,F_OperName,F_Re)'+
            ' Values ( @F_OperNO,@F_OperName,@F_Re)'+
            ' IF @@ERROR <> 0 GOTO on_error1 COMMIT TRAN RETURN (0)'+
            ' on_error1: ROLLBACK TRAN RETURN (1) end'+
            ' if @EditFlag=1 begin BEGIN TRAN'+
            ' update T_Operator Set'+
            ' F_OperName=@F_OperName,F_Re=@F_Re'+
            ' Where F_OperNO=@F_OperNO'+
            ' IF @@ERROR <> 0 GOTO on_error2 COMMIT TRAN'+
            ' RETURN (0) on_error2: ROLLBACK TRAN RETURN (1) end');
    ExecSQL;
    Application.MessageBox('创建存储过程成功!','系统提示',64);
    AdoQuery.Free;
  except
    Application.MessageBox('创建存储过程时出错!','系统提示',16);
    AdoQuery.Free;
  end;