hur.cn - 华软网

 热门搜索

在PB代码中怎么申明,执行存储过程

  作者:未知    来源:网络    更新时间:2019/1/5
exectue 存储进程名;   //只写这一句不可功
------华软网友回答------
晕,还要declare proc_name procedure for ...
------华软网友回复------
//////////////////////////////////////////////////////////////////
//
// 函数:gf_getTime
// 功能:获得服务器时间(运用SQL的存储进程)
// 参数:
// 前往:dateTime
// 作者:YBW
//
//////////////////////////////////////////////////////////////////

dateTime ldt_time

DECLARE getTime PROCEDURE FOR p_getservertime
USING SQLCA;
EXECUTE getTime;
FETCH getTime into :ldt_time;
if SQLCA.SQLCode <> 0 then 
messageBox ("数据库毛病", "不能获得服务器时间,系统以本机时间为默许时间!~r~n~r~n毛病代码:" + &
string (sqlca.sqlDbCode) + "~r~n详细信息:" + & 
sqlca.sqlERRText, stopSign!)
ldt_time = dateTime (today (), now ())
end if

CLOSE getTime;
return ldt_time
------华软网友回复------
sql:
----------------------------
CREATE PROCEDURE p_getServerTime 

 AS
begin
select getdate()
end
GO

------华软网友回复------
声明存储进程 
 
  CREATE PROCEDURE sp_results_demo @InParmInt Int,@OutParmInt OUTPUT

  AS

  BEGIN

  SELECT 1,2,3,4

  SELECT uid,id

  FROM sysobjects

  WHERE type='U'

  SELECT @OutParmInt=69

  Return 16

  END

  用于前往每一个前往值时用PowerScrip以下:

  Long lReturn,lPram1,lPram2,lResult1,lResult2,lResult3,lResult4,lResult5,lResult6

  DECLARE results_demo PROCEDURE FOR

  @returnValue=sp_results_demo

  @InParmInt = :lPram1,

  @OutParmInt = :lPram2 OUTPUT using sqlca;

  execute results_demo;

  Do While SQLCA.SQLCode=0

   Fetch results_demo INTO :lResult1,:lResult2,:lResult3,:lResult4 ;

  Loop

  Fetch results_demo INTO :lResult5,:lResult6 ;

  Do While sqlca.sqlcode=0

   Fetch results_demo Into :lResult5,:lResult6;

  Loop

  Fetch results_demo Into :lReturn,:lPram2;

  Close results_demo ; 
 

------华软网友回复------
如何带参数执行SQL的系统贮存进程 
 
  问:我想在script中执行Sp_DropUser系统存储进程删除MS SQL Server 7某用户。我是这样写的:execute Sp_DropUser(Sp_DropUser语法),编译提醒Sp_DropUser为未定义的系统存储进程。

  答:string ls_name 
  ls_name = 'username'
  dECLARE dropUser_proc PROCEDURE FOR Sp_DropUser 
  @name_in_db =:ls_name;
  SQLca.AutoCommit = TRUE
  EXECUTE dropUser_proc ;
  SQLca.AutoCommit = false 
 

------华软网友回复------
PB如何调用存储进程举行数据库备份 
 
  如果是PB用"OLE DB"接口连SQL SERVER: 
  SQLCA.DBMS = "OLE DB" 
  SQLCA.LogId = "sa" 
  SQLCA.AutoCommit = False 
  SQLCA.DBParm = "PROVIDER='SQLOLEDB',PROVIDERSTRING='database=yourDB'" 
  connect using sqlca; 
  ....... 

  string sql 
  sql="SP_Name"//"backup datebase datbaseename to disk = 'c:\backfiles'"
  execute immediate: SQL using sqlqca; 
 
     
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。