一個示例:自己看一下吧 IF EXISTS(SELECT name FROM sysobjects WHERE type='P' and name='CrtProc_Move###') DROP PROCEDURE CrtProc_Move###EXEC('CREATE PROCEDURE CrtProc_Move### @curMove CURSOR VARYING OUTPUT AS SET @curMove= CURSOR FOR SELECT Single_No,'+ 'PrevRoute_No,IsFirst FROM Dispatch WHERE Status='+''''+'未完'+''''+' AND Single_No NOT IN (SELECT Disp_No FROM Proc_Movec) '+ ' OPEN @curMove')
不过,注意去掉Go等这样的分隔标志!!
WinExec('cmd /c osql -S(local) -Usa -E -i"File.SQL"');
如果直接这样拷贝到里面,有时候是不行的
因为有的操作必须要执行了某些操作以后才可以执行。
你不会动态生成啊!!!!!!!!!!!!!!
IF EXISTS(SELECT name FROM sysobjects WHERE type='P' and name='CrtProc_Move###')
DROP PROCEDURE CrtProc_Move###EXEC('CREATE PROCEDURE CrtProc_Move### @curMove CURSOR VARYING OUTPUT AS SET @curMove= CURSOR FOR SELECT Single_No,'+
'PrevRoute_No,IsFirst FROM Dispatch WHERE Status='+''''+'未完'+''''+' AND Single_No NOT IN (SELECT Disp_No FROM Proc_Movec) '+
' OPEN @curMove')
你误会了我的意思,我想用一条语句创建多个存储过程,如果不用带上go的话delphi不让,去掉go的话,后面的create procedure 不能执行,不知道有没有什么方法可以实现
能不能给一个用winexec的例子