sql2008 存储过程中跨库调用存储过程的问题 [问题点数:20分,结帖人jimmysea]

Bbs1
本版专家分:0
结帖率 96.3%
Bbs9
本版专家分:53857
Bbs12
本版专家分:313974
版主
Blank
名人 2012年 荣获名人称号
Blank
进士 2011年 总版技术专家分年内排行榜第四
2010年 总版技术专家分年内排行榜第九
2009年 总版技术专家分年内排行榜第八
Blank
金牌 2011年10月 总版技术专家分月排行榜第一
Blank
银牌 2011年12月 总版技术专家分月排行榜第二
2011年9月 总版技术专家分月排行榜第二
2009年11月 总版技术专家分月排行榜第二
Bbs1
本版专家分:0
Bbs1
本版专家分:0
Bbs4
本版专家分:1017
Bbs1
本版专家分:0
存储过程中调用存储过程的问题
CREATE Procedure arnasrnbeginrnSELECT top 1 id,name from usersrnendrnGOrnrn我在另一个<em>存储</em><em>过程中</em>怎么得到这a返回的id,与name呢??
存储过程中调用存储过程
use NorthwindGO/**<em>存储</em>过程1功能: 通过员工FirstName   @inputEmpFirstName获得 员工Id     @outId**/IF EXISTS(SELECT name FROM sysobjects      WHERE name = p_getEmpleeIdByName AND type = P)   DROP PROCEDU
跨服务器调用存储过程
declare @b intdeclare @sqlstr varchar(500)set @b=1539set @sqlstr='SELECT a.* FROM OPENROWSET'       +'('       +'''MSDASQL'''       +','       +'''DRIVER={SQL Server};SERVER=127.0.0.1;UID=sa;PWD='''  ...
sql server数据库中存储过程实现跨数据库定时抓取数据
http://msdn.microsoft.com/zh-cn/library/ms188246.aspx   set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go ALTER PROCEDURE [dbo].[I6GetPurOrderFromCRM] as begin SET NOCOUNT ON sele
sqlserver存储过程跨库insert操作并带有参数
sqlserver<em>存储</em>过程跨库insert操作并带有参数,但是总是报参数未声明 CREATE procedure . ( @tid varchar(16), @vid varchar(20), )as
存储过程中调用存储过程!
请问在过程a中怎样<em>调用</em>过程b,且过程b中有参数.rn本人现在赶项目开发时间,请各位高手给予指点,谢谢!rn
存储过程中调用存储过程
--建被<em>调用</em><em>存储</em>过程Bcreate procedure B@Sql nvarchar(500) = null,@outpara nvarchar(500) outputasdeclare @sqlstr nvarchar(500)beginset @outpara = @Sqlend -建<em>调用</em><em>存储</em>过程Acreate procedure A@Sql nvarchar(500)as...
关于调用存储过程调用存储过程中问题.
ADD_HTrnADD_MACHrn是两个<em>存储</em>过程,rn我在执行ADD_HT时候<em>调用</em>了ADD_MACH,ADD_HT里面有事务控制,ADD_MACHrn里面有事务控制,<em>调用</em>ADD_MACH是在ADD_HT里面有事务控制里面.我想知道这样的事务会不会出<em>问题</em>.
求助-存储过程中调用存储过程
现在有这样一个要求。rn我有两个包,a和brna中的代码:rnPROCEDURE aaa(xxx in varchar2, yyy out varchar2)rnis rnbeginrn yyy := xxx;rnend;rnrn现在我在b中有一个<em>存储</em>过程,功能是这样的,rn我要做一个检索,比如c表中的所有字段,但是其中有一个字段要通过<em>调用</em>a中的aaa<em>存储</em>过程来取得。rn总体的感觉是这样的rnPROCEDURE bbb(cur out CURSOR)rnis rnbeginrn open cur for rn select c.*, a.aaa(c.field) from c;rnend;rn请教高手如何实现?其中a.aaa为<em>调用</em>a中的<em>存储</em>过程aaa。
存储过程中调用另一个存储过程?
create or replace procedure aaarn asrnaa varchar2(20);rncc varchar2(20);rnbeginrn aa:='222';rn bb:='333';rn execute ccc (aa,bb);rnend aaa;rnrnrn这样可以吗?编译出错!
【SQLSERVER】在存储过程中调用存储过程
create   proc   a          param1   varchar(16),          param2   varchar(16)   output    as    如何在另一个<em>存储</em><em>过程中</em><em>调用</em>a     ,并且获得param2???? declare   @R   varchar(16)      exec   a   'xxx',@R   output   ...
存储过程中如何调用存储过程
ORACLE<em>存储</em><em>过程中</em>,如何<em>调用</em>另外一个带参数(一入一出参数)的<em>存储</em>过程?
怎么样在存储过程中调用存储过程?
我这样子写怎么不行?rncreate or replace procedure Cp_UserCallOutFinishrn isrnbeginrn ...rn exec c_test.cp_calloutcount;rn ...rnend Cp_UserCallOutFinish;rn但是我在SQL plus中运行rn exec c_test.cp_calloutcount;又能通过?rn谢谢!·
oracle 存储过程中调用存储过程
A,较sql server中区别 : 1,无exec 2,无output 3,添加() B,oracle<em>存储</em>过程的入参 1,纯输入参数可以引用其值,但不可以赋值 解决:建立本地参数暂存其数据,然后操作本地参数 2,输出参数可赋值,可引用 CREATE OR REPLACE PROCEDURE P_AM_WOSORD_SET_LOG ( AS_USERID VA
存储过程中存在跨库操作,速度慢
常用方式 --  Update a Set a.ApproverAD=@ApproverAD,a.ApproverName=@ApproverName --  From [192.168.0.210].[EIP].[dbo].[wt_ApproverList] a --  Where FormID=@FormID and ActivityName=@ActivityName 在查询分析器执
在一个存储过程中调用另一个存储过程的问题
在一个<em>存储</em>过程a中<em>调用</em>另一个<em>存储</em>过程b,<em>存储</em>过程b是有返回数据集,而在<em>存储</em>过程a中要用到<em>存储</em>过程b所返回的数据集。
存储过程中调用存储过程的问题,谢谢!
我在<em>存储</em><em>过程中</em>循环作下面操作:rn EXECUTE sp_rename @tabColName, @newColName, 'COLUMN',rn但是没有结果。rn请问<em>存储</em><em>过程中</em><em>调用</em><em>存储</em>过程是否可行?怎样做正确呢?
存储过程中调用另一个存储过程的问题
CREATE PROCEDURE [dbo].[spMRViewToProc] rn@FromDbName varchar(50),rn@ToDbName varchar(50)rnASrnexec('SELECT '+@FromDbName+'.dbo.materialrequest.*, ISNULL('+@ToDbName+'.dbo.materialrequestContrast.ModifyDate, rn '+@FromDbName+'.dbo.materialrequest.InputDate) AS ModifyDaternFROM '+@FromDbName+'.dbo.materialrequest LEFT OUTER JOINrn '+@ToDbName+'.dbo.materialrequestContrast ON rn '+@FromDbName+'.dbo.materialrequest.MaterialRequestID = '+@ToDbName+'.dbo.materialrequestContrast.MaterialRequestID')rnGOrnrnCREATE PROCEDURE [dbo].[spTest] rn@FromDbName varchar(50),rn@ToDbName varchar(50)rnASrn???rnEXEC('INSERT INTO MRViewToProc EXEC spMRViewToProc '+@FromDbName+', '+@ToDbName+'')rn???rnGOrnrnspMRViewToProc<em>存储</em>过程返回结果集的数据列非常多,我想把spMRViewToProc<em>存储</em>过程返回的结果集<em>存储</em>到一个临时表里,一开始我建了一个表MRViewToProc,结构和spMRViewToProc<em>存储</em>过程返回结果集的结构完全一样,可是执行时出现错误,服务器: 消息 213,级别 16,状态 5,行 1rn插入错误: 列名或所提供值的数目与表定义不匹配。我又看了好几遍发现结构一样,rn请问有没有什么方法实现把spMRViewToProc<em>存储</em>过程返回结果集<em>存储</em>到一个临时表里,而不用一一定义每个列的类型????
存储过程中调用另外的存储过程的问题
[code=SQL][/code]rncreate proc function_search_freern@train_no char(5),@date date,@start_station varchar(50),@end_station varchar(50),@seat_free_num int outputrnasrndeclare @start_time time(0),@arrive_time time(0) rnexec function_search_free2 '@train_no','@date','@start_station','@end_station',@start_time out,@arrive_time outrnselect @seat_free_num=(select count(*) rnfrom view_buy_info brnwhere train_no=@train_no and train_date=@date and ((@start_time between start_time and arrive_time) or (@arrive_time between start_time and arrive_time))rn)rn[code=SQL][/code]rncreate proc function_search_free2rn@train_no char(5),@date date,@start_station varchar(50),@end_station varchar(50),@start_time time(0) output,@end_time time(0) outputrnasrnselect @start_time=start_time,@end_time=arrive_timernfrom view_buy_infornwhere Train_no=@train_no and @start_station=Startstation_name and @end_station=Endstation_name and @date=train_daternrn各位大大,我现在创建了两个<em>存储</em>过程,期间有<em>存储</em>过程的<em>调用</em>,然后现在我执行rn[code=SQL][/code]rndeclare @sum intrnexec function_search_free 'G0001','2012-01-01','上海','苏州',@sum outrnprint @sumrnrn结果显示:消息 8114,级别 16,状态 1,过程 function_search_free2,第 0 行rn从数据类型 varchar 转换为 date 时出错。rnrn看了很久不明白啊、我哪里有varchar向date的转化?rn难道说<em>存储</em>过程<em>调用</em>的时候默认是把所有的参数转化为varchar吗?rnrn希望各位帮忙解答!
存储过程中调用存储过程的问题!(急)
我有十六个表,每个表中都有同一个字段,rn在一个<em>存储</em><em>过程中</em>得到这个字段的值,以表名为rn参数,在另一个<em>存储</em><em>过程中</em><em>调用</em>上一个<em>存储</em>过程rn,并用到所取出的值.rn我应该怎么作呢?rn请教各位高手.谢谢!
存储过程中调用系统存储过程的问题
数据库环境是SQLSERVER 2000rnCREATE PROCEDURE [dbo].[sp_DelDbUser] @dbuser nvarchar(10)rnASrndeclare @ret integer;rnset @ret=0;rnexec @ret=sp_dropuser @dbuser;rnexec @ret=sp_droplogin @dbuser;rnselect @ret as 'return';rnreturn @ret;rnGOrn如果当前数据库中有这个用户,则一切正常。rn我的<em>问题</em>是,如果当前数据库不存在这个用户,而只有登陆用户的时候,rnsp_dropuser 会直接跳出<em>存储</em>过程,无法执行到最后的return 代码,导致<em>存储</em>过程的返回值无法得到。rnrn请高手不吝赐教rn
关于存储过程中调用存储过程的问题
如下所示:rncreate table #tt(style_code nvarchar(10))rninsert into #tt exec p_xx @year=2006,@month=10rnselect * from #ttrndrop table #ttrnrn注意:如果修改了p_xx(被調用存儲過程),則以下兩種調用情況,需要先直接調用一下p_xx存儲過程,然后才可以正常調用p_xx存儲過程的結果執行其它操作,否則,會出現錯誤:插入錯誤: 資料行名稱或提供的數值數量與資料表定義不相符。rn1.查詢分析器中有調用p_xx存儲過程的結果作其它處理的情況:rn 處理方法:先直接調用P_xx存儲過程一次(如exec p_xx @year=2006,@month=10),然後才可正常使用本存儲過程返回的結果rnrn2.程序中調用的存儲過程中嵌套調用p_xx存儲過程的結果作其它處理的情況::rn 處理方法:程序中直接調用P_xx存儲過程一次(如exec p_xx @year=2006,@month=10),然後才可正常使用本存儲過程返回的結果rn 說明:當修改了p_xx后,在查詢分析器中也執行了exec p_xx @year=2006,@month=10,也不能解決以上情況2的問題.必須在程序中直接調用P_xx存儲過程一次,然後才可正常使用本存儲過程返回的結果rnrnrn問:rn1.出現這種情況的原因是什么?rn2.那么,有沒有什么方法,在修改了p_xx(被調用存儲過程)后,以上兩種調用情況中,不需要執行exec p_xx @year=2006,@month=10,即可正常調用p_xx返回的結果呀?
存储过程中跨数据库查询
业务要求rn1.同一个服务器上有A数据库和B数据库rn2.在A数据库的<em>存储</em><em>过程中</em>要查询B数据库的表rn3.请问这样能行得通吗??rn4.如果行得通,请告诉我实现方法。rn5.不管能不能行的通,先谢谢大家啦!rnrn
调用存储过程中问题
写了一个<em>存储</em>过程:rncreate or replace procedure ceshi(strdate in out date,enddate in out date) isrn --声明局部变量rn ...rnbeginrn rn select id,name into t_id,t_name from table where createdate>=strdate and createdate :to_date('2007-03-01','yyyy-mm-dd'),rn enddate => :to_date('2007-04-01','yyyy-mm-dd');rnend;rn2、rn declarern strshijian date;rn endshijian date;rn beginrn strshijian:=to_date('2007-03-01','yyyy-mm-dd');rn endshijian:=to_date('2007-04-01','yyyy-mm-dd');rn ceshi(strdate => :strshijian,rn enddate => :endshijian);rn end;rn3、rn declarern strshijian date;rn endshijian date;rn beginrn strshijian:='2007-03-01';rn endshijian:='2007-04-01';rn ceshi(strdate => :strshijian,rn enddate => :endshijian);rn end;rn4、rn beginrn ceshi(strdate => :'2007-03-01',rn enddate => :'2007-04-01';rn end;rnrn执行后全都提示:rn ora-01036:非法的变量名/编号rnrn如果在ceshi<em>存储</em><em>过程中</em>不带参数,直接在过程内定义赋值strdate、enddate执行却没有一点<em>问题</em>。rnrn小弟初学oracle,<em>问题</em>都很幼稚,让大家见笑了!
存储过程中嵌套存储过程的问题.
我想在一<em>存储</em><em>过程中</em>嵌套另一<em>存储</em>过程.但如果嵌套的<em>存储</em>过程若执行出错,则返回不再执行.该怎么做呢?rn具体如下:rnrnCREATE PROCEDURE ScGZ @year int,@month int ,@date datetime ASrndeclare @count int rndeclare @PrevYear int,@PrevMonth int --上一個月的年份,月份rnset xact_abort on rnbegin tran rnrn----- 判斷出勤記錄是否全部鎖定,沒有鎖定則不能算工資rn exec checkcqzliflock @year,@monthrn.....rncommit tran rnrnrnCREATE proc checkcqzliflock @year int,@month int as rnset xact_abort on rnbegin tran rn declare getstate_curs cursor for rn select r.sfzhm,r.name,x.state from rgjbzl r, rgcqinput x where r.sfzhm=x.sfzhm and x.yy=@year and x.mm=@monthrn open getstate_cursrn declare @sfzhm varchar(30),@name varchar(10),@state char(1)rn fetch next from getstate_curs into @sfzhm ,@name,@statern while (@@fetch_status=0)rn beginrnrn if @statern raiserror(@s,16,1) rn commit tranrn return rn endrn fetch next from getstate_curs into @sfzhm ,@name,@statern end rn close getstate_cursrn deallocate getstate_cursrnrn我要在ScGZ中执行checkcqzliflock如果有记录没锁定则跳出<em>存储</em>过程ScGZ.rn在ScGZ要怎么<em>调用</em> checkcqzliflock且checkcqzliflock执行检查到记录就跳出呢?rn
存储过程跨库操作?
写一<em>存储</em>过程操作DB1中的数据表,处理结果插入到DB2数据库,rn求指点
存储过程中动态调用存储过程
简单的说就是想根据不同的输入选择不同的<em>存储</em>过程同时也有参数带入.rn谢谢.代码如下:rnrn外部触发代码:rndeclare @SpNumber varchar(21)rndeclare @ShortMessage varchar(140)rndeclare @UserNumber varchar(21)rnrnselect @SpNumber='8809133'rnselect @ShortMessage='01'rnselect @UserNumber='13185061713'rnrnexec Xp_CallDiffProc @UserNumber,@SpNumber,@ShortMessagernrn-----------Xp_CallDiffProc<em>存储</em>过程------------rnCREATE PROCEDURE [dbo].[Xp_CallDiffProc] rn(rn @UserNumber varchar(21), rn @SpNumber varchar(21), rn @ShortMessage varchar(140) rn)rnASrnrnselect @ShortMessage='01'rndeclare @exeSql NVARCHAR(50)rnrnprint 'Xp_CallDiffProc '+@UserNumberrnprint 'Xp_CallDiffProc '+@SpNumberrnprint 'Xp_CallDiffProc '+@ShortMessagernrnselect @exeSql='exec scene'+@ShortMessage +N' @UserNumber,'+N'@SPNumber,'+N'@ShortMessage'rnprint @exeSqlrn--EXEC sp_executesql @exeSqlrn--exec (@exeSql)rnrn-----------scene01<em>存储</em>过程------------rnrnCREATE PROCEDURE [dbo].[scene01] rn(rn @UserNumber varchar(21), rn @SpNumber varchar(21), rn @ShortMessage varchar(140) rn)rnASrnprint 'scene01 '+@UserNumberrnprint 'scene01 '+@SpNumberrnprint 'scene01 '+@ShortMessage
写个存储过程中调用存储过程的例子????
一天的数据是一张表,都是百万的数据量。给出时间,时间段,查询符合条件的记录,插入中间表,最后将表返回。。。
存储过程中调用存储过程获取数据集
我现在有两个<em>存储</em>过程,第一个是翻页的<em>存储</em>过程,第二个要使用第一个<em>存储</em>过程所返回的数据集进行游标操作,第一个<em>存储</em>过程并不是以Output方式返回一个变量,而是返回一个数据集,我不知道如何用第二个<em>存储</em>过程接收第一个<em>存储</em>过程返回的数据集。rnrn望大虾不吝相等,在线等。rnrn
存储过程中如何调用另一存储过程?
有2个<em>存储</em>过程,sp1和sp2,现在我要写一个sp3,里面同时<em>调用</em>sp1和sp2,并且sp2要用到sp1的@@IDENTITY结果。rncreate procedure sp3rn@id int,...rnasrnbeginrn执行sp1,rn如果sp1成功并获取其@@IDENTITY,执行sp2,rn失败回滚所有rnendrnrn怎么写?rn
如何在存储过程中调用另一存储过程?
如何在<em>存储</em><em>过程中</em><em>调用</em>另一<em>存储</em>过程?rn并得到返回值?
如何在存储过程中调用另一存储过程?
rn以下两个<em>存储</em>过程mycs和mycsa,请问如何在mycsa中<em>调用</em>mycs,谢谢!rnrnrnCREATE PROCEDURE mycsrn@abc intrnASrnrnBEGINrn if @abc>10rn beginrn RETURN 0rn endrn elsern beginrn RETURN 1rn end rnENDrnrnrnrnCREATE PROCEDURE mycsarn@abc int outputrnASrnrnBEGINrn -- <em>调用</em>mycs过程,如果此过程返回0则set @abc=300,否则set @abc=3000。 rnENDrnrnrn
存储过程中可以调用另一个存储过程?
<em>存储</em><em>过程中</em>可以<em>调用</em>另一个<em>存储</em>过程?rn怎么写?
怎样在存储过程中调用另一存储过程?急
我想写一个<em>存储</em>过程A 根据条件查询、rn <em>存储</em>过程B ,插入一条新的纪录rnrn例如:rnrn表 studentrn列 id ,name addressrnrnrn查询<em>存储</em>过程rnrnCREATE OR REPLACE PROCEDURE Arn(strName in TEST.name %TYPE,rn OUT_LEVEL_CURSOR OUT PKG.T_CURSOR) rn ASrnBEGINrn OPEN OUT_LEVEL_CURSOR FORrn SELECT * FROM TEST WHERE name= strName ;rnEND;rnrn添加<em>存储</em>过程rnrncreate or replace procedure Brn(rn strName in TEST.name %TYPE,rn strAddress in TEST.address%TYPE,rnrn OUT_LEVEL_CURSOR OUT PKG.T_CURSOR rn)rnisrnbeginrnrn//我想在添加之前先根据strName 条件 <em>调用</em><em>存储</em>过程Arn如果纪录存在的话,抛出异常,并把查出的纪录返回rnrn否则的话,就插入rnrnrnend;rnrnrn应该怎样写?rnrn
存储过程中如何再调用另一存储过程?
我想在一个<em>存储</em><em>过程中</em><em>调用</em>另一<em>存储</em>过程rn如果是常量是可以的,如P_table('table')rn但如果我想传一个变量请问该如何写rn
存储过程中如何调用另一个存储过程.?
如题?
存储过程中执行存储过程
Create proc  sp_myproc (       .... ) AS Update xxx Where xxx exec   log_UserLog_Add   @UserID,  'UpdateUserInfo',  @Content,  @IP,  'User',  @UserID
存储过程中使用存储过程
<em>问题</em>类似于:rnrn 有一张表table 属性A 属性Brn —————————rn AFFEFA rn
请问可以在存储过程中调用存储过程吗?
请问可以在<em>存储</em><em>过程中</em><em>调用</em><em>存储</em>过程吗?rn如何实现?rn在一个<em>存储</em><em>过程中</em>要<em>调用</em>别一个<em>存储</em>过程的返回值,应该怎么操作?
如何在存储过程中调用存储过程?
create proc arn param1 varchar(16),rn param2 varchar(16) outputrnasrn.....rnrn如何在另一个<em>存储</em><em>过程中</em><em>调用</em>a ,并且获得param2????
存储过程中怎样再调用存储过程?谢谢
<em>存储</em><em>过程中</em>怎样再<em>调用</em><em>存储</em>过程?谢谢
关于在存储过程中调用分页存储过程的难题?
rn已经有了一个公用的分页<em>存储</em>过程rnCreate PROCEDURE ListPage(rn@tblName nvarchar(200), ----要显示的表或多个表的连接rn@fldName nvarchar(200) = '*', ----要显示的字段列表rn@pageSize int = 10, ----每页显示的记录个数rn@page int = 1, ----要显示那一页的记录rn@pageCount int = 1 output, ----查询结果分页后的总页数rn@Counts int = 1 output, ----查询到的记录数rn@fldSort nvarchar(100) = null, ----排序字段列表或条件rn@Sort bit = 0, ----排序方法,0为升序,1为降序rn@strCondition nvarchar(200) = null, ----查询条件,不需wherern@ID nvarchar(50) ----主表的主键rn)rnrn返回了一个SELECT出来的数据集, 如果直接在 类方法中<em>调用</em>这个分页<em>存储</em>过程,就可以得到数据集,rn但现在要用另一个<em>存储</em><em>过程中</em><em>调用</em>这个分页<em>存储</em>过程, 如 rnrnCreate PROCEDURE GetDATArnrnasrnexec ListPage 'tablename','fldName'rnrn在类方法中<em>调用</em> GetDATA 返回的是空的, 问怎么样都能返回一个数据集呢? rnrn
存储过程中如何调用其他的存储过程?
在<em>存储</em><em>过程中</em>如何<em>调用</em>其他的<em>存储</em>过程?想在自己写的一个<em>存储</em>过程里面<em>调用</em>系统<em>存储</em>过程sp_helprotect.如何执行sp_helprotect并得到它的返回值?如果要<em>调用</em>的<em>存储</em>过程需要输入参数的话,又该怎么办?哪位知道.给点思路或者例子,谢谢了!
orcle存储过程中如何调用其它的存储过程
-
VB.NET调用存储过程,存储过程中是xp_cmdshell
写了个<em>存储</em>过程,里面主要是用xp_cmdshell去执行 BCP抽出数据rnrn单独调试<em>存储</em>过程一点<em>问题</em>没有,可以做成文件。rnrn但是用VB.NET的SqlCommand类的ExecuteNonQuery去<em>调用</em>却怎么也不行rnrn我把<em>存储</em>过程用的参数,本来是VB.NET传进去的,现在写死了在<em>存储</em>过程里都不好使rnrn谁知道是为什么阿?
oracle 存储过程中怎么调用其他存储过程
CREATE OR REPLACE PROCEDURE forums_User_Getrn(rn -- 这里是上面包中的类型,输出参数rn inUserID in number,rn inUserName in nvarchar2,rn inIsOnline in number,rn inLastAction in nvarchar2,rn inIPAddress in nvarchar2,rn mycs out pk_Forums.mytypern)rnASrntempUserID number ;rn--forums_system_UserIsOnline procedure;rnBEGINrn -- Are we looking up the user by username or ID?rn IF inUserID = 0 thenrn BEGINrn open mycs forrn SELECTrn U.UserID,rn U.Salt,rn U.UserName,rn U.NickName,rn U.IPCreated,rn U.IPLastLogin,rn U.IPLastActivity,rn U.PasswordFormat,rn U.PasswordQuestion,rn U.Email,rn U.DateCreated,rn U.LastLogin,rn U.LastActivity,rn U.LastAction,rn U.UserAccountStatus,rn U.IsAnonymous,rn U.ForceLogin,rn P.*rn FROMrn forums_Users U,rn forums_UserProfile Prn WHERE rn U.UserID = P.UserIDrn AND UserName = inUserName;rn rn -- Get the Usernamern SELECT UserID into tempUserID FROM forums_Users U WHERE U.UserName = inUserName;rn rn END;rn ELSE rn BEGINrn -- Looking up the user by IDrn rn -- Get the user detailsrn open mycs forrn SELECTrn U.UserID,rn U.Salt,rn U.UserName,rn U.NickName,rn U.IPCreated,rn U.IPLastLogin,rn U.IPLastActivity,rn U.PasswordFormat,rn U.PasswordQuestion,rn U.Email,rn U.DateCreated,rn U.LastLogin,rn U.LastActivity,rn U.LastAction,rn U.UserAccountStatus,rn U.IsAnonymous,rn U.ForceLogin,rn P.*rn FROM rn forums_Users U ,rn --(nolock) Urn forums_UserProfile Prn WHERE rn U.UserID = P.UserIDrn AND U.UserID = inUserID;rn END;rn end if;rn rn rn IF inIsOnline = 1 thenrn BEGINrn rn forums_system_UserIsOnline(tempUserID, inLastAction, inIPAddress); rn -- execute forums_system_UserIsOnline();rn END;rnEND IF;rnrn rnEND forums_User_Get;rnrnrnrnrn错误是 forums_system_UserIsOnline(tempUserID, inLastAction, inIPAddress); 这行 rn提示Compilation errors for PROCEDURE SYSTEM.FORUMS_USER_GETrnrnError: PLS-00201: 必须说明标识符 'FORUMS_SYSTEM_USERISONLINE'rnrnrn 我第一次写 不晓得怎么定义说明.. 望各位大哥指教rn
如何在存储过程中调用存储过程?
如何在<em>存储</em><em>过程中</em><em>调用</em><em>存储</em>过程?大家给个例子?
存储过程中调用另一个存储过程的结果集
在一个<em>存储</em><em>过程中</em>把另一个<em>存储</em>过程当一个表来使用,在sql server中不支持直接从from后接<em>存储</em>过程。这个时候我们可以利用临时表来实现。举例: SELECT ID, RoleId, RoleType into #TempPurviewTableContainer  FROM SystemPurview  WHERE 1=0  INSERT #TempPurviewTableContai
存储过程中调用存储过程是否支持事务回滚?
例如proc a 和 proc b 中使用了 begin tran 和 commit tranrna中<em>调用</em>brn若执行完了b后,在a中发生错误,还能回滚b中的操作吗rn是否 b 中不要再使用事务了?
存储过程中调用存储过程--急!!!在线等
问大家一个<em>问题</em>!!! rn如果我在一个<em>存储</em><em>过程中</em>, <em>调用</em>另外一个<em>存储</em>过程插入到#table 中,应如何实现?rn例如:如果是函数的话,可以这样实现:rninsert into #table (a,b,c)rnselect a , b , crnfrom function('','','')rn如果是<em>存储</em>过程呢? rnrn另外,如果要update #table 中的行时,需要<em>调用</em><em>存储</em>过程,又怎么实现,rn如:如果是函数的话rnupdate #table set a=b.arnfrom #table a (select a,c from function('','')) b on a.c=b.crn如果是<em>存储</em>过程呢?rnrn急! 在线等! 望高手进来解决!
如何在存储过程中调用存储过程?2
create proc arn Param1 varchar(16),rn Param2 varchar(250)rnasrn......rnrn这样在另一个<em>存储</em><em>过程中</em>(b)<em>调用</em>arncreate proc brn.......rnasrndeclare @R varchar(250)rn....rnselect x,y,'exec x,@R output' as z from ......--是错的rn传入<em>存储</em>过程a的参数Param1为select中的字段x,意思是这样,但不知道怎么做?
如何在存储过程中调用存储过程呢
听说过<em>存储</em>过程<em>调用</em><em>存储</em>过程,但是从没看到过示例,能不能给我举几个例子
能在存储过程中循环调用存储过程吗?
请问能在<em>存储</em><em>过程中</em>循环<em>调用</em><em>存储</em>过程吗?
请问存储过程中,自己调用自己存储过程
在<em>存储</em><em>过程中</em><em>调用</em>本身,如何处理游标<em>问题</em>。rn因为这样递归。游标定义会一样。rn这个要如何处理啊?
关于在存储过程中调用其他存储过程的权限问题.
是这样的,小弟想通过ORALC来发送邮件,上网络上找一高人suk所写的<em>存储</em>过程PROCSENDEMAIL来使用,手工执行该<em>存储</em>过程是没有<em>问题</em>(当然是指小弟给用户赋权之后),但是在触发器中应用却不行.左查右查,发现应该是<em>调用</em>时的权限<em>问题</em>.理由如下:rn我建立两个<em>存储</em>过程A和B,分别<em>调用</em>PROCSENDEMAIL,结果A成功,B失败.rnA<em>存储</em>过程:rn[code=SQL]CREATE PROCEDURE p_test AUTHID CURRENT_USER ISrnBEGINrnPROCSENDEMAIL('Data files','Case data from arcsight(7JxxolCMBABCvkTY6LSWNag==)','do-not-reply@cpcnet.com','tomlu@cibonet.com','mail.trusts.cpcnet.com','25','0','','','/tmp/utl_file/Case_Info_7JxxolCMBABCvkTY6LSWNag==.csv','bit 7');rnEND p_test;[/code]rn结果,执行成功.rn[code=Assembly]rnSQL> exec p_test;rnPL/SQL procedure successfully completed.rnSQL>rn[/code]rnrnB<em>存储</em>过程:rn[code=SQL]rnCREATE PROCEDURE p_test ISrnBEGINrnPROCSENDEMAIL('Data files','Case data from arcsight(7JxxolCMBABCvkTY6LSWNag==)','do-not-reply@cpcnet.com','tomlu@cibonet.com','mail.trusts.cpcnet.com','25','0','','','/tmp/utl_file/Case_Info_7JxxolCMBABCvkTY6LSWNag==.csv','bit 7');rnEND p_test;rn[/code]rn结果,执行失败.rn[code=Assembly]rnSQL> exec p_testrnBEGIN p_test; END;rnrn*rnERROR at line 1:rnORA-01031: insufficient privilegesrnORA-06512: at "TEST_USER.PROCSENDEMAIL", line 325rnORA-06512: at "TEST_USER.P_TEST", line 3rnORA-06512: at line 1rn[/code]rn到此,小弟大胆推测是在执行时,<em>调用</em>另一<em>存储</em>过程的"用户"(不知道这样理解对不对)没有足够的权限所导致.所以小弟想在此问以下<em>问题</em>:rn1. 系统执行触发器,或在<em>存储</em><em>过程中</em><em>调用</em>其他<em>存储</em>过程时,默认的用户(指不使用AUTHID CURRENT_USER的情况下)是哪个??rn2. AUTHID CURRENT_USER 能用在触发器上么??貌似不能用啊??rn
oracle中存储过程中调用存储过程
<em>存储</em><em>过程中</em><em>调用</em><em>存储</em>过程 create or replace package body PF_Role_Pack is procedure sp_GetPage_Role(pageSize_ in number, --每页大小 pageIndex_ in number, --数据页数,从1开始 ...
如何在存储过程中调用其它存储过程
我想在写得<em>存储</em><em>过程中</em><em>调用</em>另一个<em>存储</em>过程~~~应该怎么办~~ 请教~~~~~~
asp调用存储过程中问题
我的原码如下:rn power=cstr(request.querystring("power"))rn response.write power & " "rn rec=1rn rec1=3rnDim objCmd, rec_no, i, rs, parmrn Const adCmdStoredProc =4rn Const adParamInput = &H0001rn Const adParamOutput = &H0002rn Const adParamReturnValue = &H0004rn Const adInteger = 3rn Const adChar = 129rn Const adDecimal = 14rn Const adDouble = 5rn Const adSingle = 4rn rn rn rn Set objCmd1 = Server.CreateObject("ADODB.Command")rn objCmd1.ActiveConnection =cnrn objCmd1.CommandText = "selectresource3"rn objCmd1.CommandType = adCmdStoredProcrn objcmd1.Parameters.Append objcmd1.CreateParameter("@class_id",adchar ,adParamInput,70,power)rn objcmd1.Parameters.Append objcmd1.CreateParameter("@int_pagenow",adSingle ,adParamInput,,rec)rn objcmd1.Parameters.Append objcmd1.CreateParameter("@int_pagesize",adSingle ,adParamInput,,rec1)rn objcmd1.Parameters.Append objcmd1.CreateParameter("@ishome",adchar ,adParamInput,2,"n")rn objcmd1.Parameters.Append objcmd1.CreateParameter("@info",adchar ,adParamOutput,30,"")rn objcmd1.Parameters.Append objcmd1.CreateParameter("@int_recordcount",adInteger ,adParamOutput,,0)rn objcmd1.Parameters.Append objcmd1.CreateParameter("@pages",adInteger ,adParamOutput,,0)rn Set rs1=objCmd1.Execute()rn rn ss=objcmd1.Parameters("@int_recordcount")rnresponse.write objcmd1.Parameters("@info") & " "rn response.write objcmd1.Parameters("@int_recordcount") & " "rn response.write objcmd1.Parameters("@pages") rn rn info=objcmd1.Parameters("@info")rn rn pagecount=objcmd1.Parameters("@pages") rn rn curpage=recrn rnif ss>0 thenrn if not rs1.eof thenrn response.write trim(rs1("title"))rn rs1.movenextrn end ifrn else rn response.write "暂时没有纪录"rnend ifrn 但总是告诉我ADODB.Recordset 错误 '800a0e78' rnrn对象关闭时,操作不被允许。 并且 if not rs1.eof then 这行错误rn不知毛病出在哪rnrn
调用存储过程中出现的问题
我写了一个<em>存储</em>过程在数据库中,其中两参数传入,一个参数传出,返回记录集装入datagrid,但datagrid总也装不进数据,<em>存储</em>过程应该没<em>问题</em>,在SQL查询分析器中执行正常,请各位给看一下:rnrn<em>存储</em>过程参数定义:@sfid varchar(18),@year int,@fhbz int outputrnrnVB中<em>调用</em>代码如下:rnDim SQL As StringrnDim Rs As New ADODB.RecordsetrnDim rst As ADODB.RecordsetrnDim con As ADODB.ConnectionrnDim RsCmd As New ADODB.CommandrnDim dwID As StringrnDim SfCode As StringrnDim ghj As IntegerrnDim MsgString As StringrnrnrnPrivate Sub Command1_Click()rnrnSet Rs = CreateObject("ADODB.RECORDSET")rnSet RsCmd = CreateObject("ADODB.COMMAND")rnrnSet con = New ADODB.Connectionrncon.Open GetConnStrrncon.CursorLocation = adUseClientrnrnSet rst = New ADODB.RecordsetrnSQL = "select z_ylbxh,z_xm,tbsj=convert(char(10),z_tbsj,120),xb=case z_xbbm when 0 then '女' else '男' end,z_grxh,csrq=convert(char(10),z_csrq,120),z_tbdw_id,z_gzze,z_jfjs,rylb=case z_rylb when 0 then '在职' when 1 then '退休' else '其它' end,z_sfid from grzhxx00 where z_ylbxh='" & Trim(Text1.Text) & "'"rnSet rst = SelectSQL(SQL, MsgString)rnIf rst.EOF Thenrn MsgBox "您所查询的信息不存在,请加以确定!", 0 + 16 + 0, "注意!"rn Text1.Text = ""rn Text1.SetFocusrn Exit SubrnElsern dwID = Trim(rst.Fields(6))rn For i = 0 To 6rn Label4(i).Caption = Trim(rst.Fields(i))rn Next irn Label4(8).Caption = rst.Fields(7)rn Label4(9).Caption = rst.Fields(8)rn Label4(10).Caption = rst.Fields(9)rn SfCode = Trim(rst.Fields(10))rn SQL = "Select z_dwmc from tbdwxx00 where z_dwid='" & dwID & "'"rn Set rst = SelectSQL(SQL, MsgString)rn If rst.EOF Thenrn Label4(7).Caption = ""rn Elsern Label4(7).Caption = Trim(rst.Fields(0))rn End IfrnEnd IfrnrnrnRsCmd.ActiveConnection = conrnRsCmd.Parameters.Append RsCmd.CreateParameter("@sfid", adChar, adParamInput, 18)rnRsCmd.Parameters.Append RsCmd.CreateParameter("@year", adInteger, adParamInput)rnRsCmd.Parameters.Append RsCmd.CreateParameter("@fhbz", adInteger, adParamOutput)rnrnRsCmd.CommandText = "TaiYuan_grdzdjs"rnRsCmd.CommandType = adCmdStoredProcrnrnRsCmd.Parameters.RefreshrnrnRsCmd.Parameters("@sfid").Value = SfCodernRsCmd.Parameters("@year").Value = Combo1.TextrnSet Rs = RsCmd.Executern Set DataGrid1.DataSource = Rsrn DataGrid1.Refreshrn Label5.Caption = SfCodern Label6.Caption = Combo1.Text - 1rnrnEnd Subrnrnrnrn其中的基本信息导入也没<em>问题</em>,就是最后的<em>存储</em>过程装不进,为何,还请各位指教!
存储过程中调用事务处理的问题
新建一个<em>存储</em>过程rnIF EXISTS(SELECT 1 FROM sysobjects WHERE TYPE='p' AND NAME='P_Get_register')rn DROP PROC P_Get_registerrnGOrncreate proc P_Get_register rn(rn@Msg varchar(100)='' outputrn)rnrnasrnrnbegin tranrnrn begin tryrn select *from t1rn select *from t2rn end tryrn begin catchrn if @@trancount > 0rn rollback tranrn end catchrnrn if @@trancount > 0rn commit tranrngornrnrn如果表t1或者表t2不存在,<em>存储</em>过程就报错:rnEXECUTE 后的事务计数指示缺少了 COMMIT 或 ROLLBACK TRANSACTION 语句。上一计数 = 0,当前计数 = 1。请问这个<em>问题</em>怎么解决?
关于调用存储过程中问题
我想写一个<em>存储</em>过程rn CREATE PROCEDURE createdb @dbn varchar(20) rnasrn CREATE DATABASE [@dbn]rnGOrn创建一个数据库rn数据库的名字由用户定义,但是上面的语句达不到效果。rn原因就是这个<em>存储</em>过程不把@dbn作为参数。rnrn用<em>存储</em>过程处理这个<em>问题</em>是因为创建完数据库后还要创建表。rn有很多表,所以选用<em>存储</em>过程。rnrn请教该如何实现。
存储过程中调用ole的问题
在sql server的<em>存储</em><em>过程中</em><em>调用</em>ole,我把业务逻辑用ole封装。可是<em>问题</em>是ole运行到连接数据库时就不能继续,换成用<em>存储</em>过程<em>调用</em>exe也是一样。可相同的ole或exe单独执行就可以。为什么?和所有者有关吗?
存储过程中的参数调用问题
我有个<em>存储</em>过程rn参数一 string ss1="table1";rn参数一 string ss1="columnname";rn参数三 string ss1=Server.MapPath(../);rn在<em>调用</em>文件路径参数时为@"E:\test.xls"rn这时我的<em>存储</em>过程<em>调用</em>不成功rn但直接在查询分析器中写 exec procname 'E:\test.xls' 没<em>问题</em>rn这个值 与"E:\test.xls"有何不同
存储过程中调用网页的问题
用select utl_http.request('url') from dual,但是url只能带一个参数,而且如果该url是asp的则中文是乱码,还有,用utl_tcp包是否可行,如何用,请举个例子,谢谢!
ibatis调用存储过程中问题
今天遇到一个错误,老是说没有我要<em>调用</em>的<em>存储</em>过程,在仔细核对排除参数个数不对,参数类型不对,参数顺序不对等情况后。 我在数据库客户端<em>调用</em><em>存储</em>过程成功。 在java里面<em>调用</em>老是报错。最后 发现<em>存储</em>过程在postgresql里面的名字是例如: f_saveTable,我在ibatis里面配置的也是f_savaTable。但是错误离奇的报的是f_savetable<em>存储</em>找不到。 心想可能名称被默认变
存储过程中调用exec的问题
我要循环几十个表,把几十个表中的同一字段求和,rn我有一个表t1存着几十个表的表名rn我在<em>存储</em><em>过程中</em>是这样写的rndeclare @summoney numeric(18,4)rndeclare @sumnumber numeric(18,4)rndeclare @tablename varchar(50)rndeclare cur_Table CURSOR rnfor select tablename from t1rnOPEN cur_TablernFETCH Next FROM cur_Table INTO @TableNamernWHILE @@FETCH_STATUS = 0rnBEGINrn //这里是<em>问题</em>所在????rn exec ('select sum(Money),sum(number) from '+@TableName)rn //?????我怎么把求出sum(Money),sum(number)付给@summoney和@sumnumberrn FETCH Next FROM cur_Table INTO @TableNamernend
php跨库调用
数据库A,B.rnrnA库下有表 user(uid,uname)rnrnB库下有表 replay(uid,content)rnrn如何查询,A,B库user,replay下的信息rnrnrnrnselect A.user.uid ,A.user.uname,B.replaycontent from A.user,B.replay where A.user.uid=B.replay.uidrnrnrn这样的PHP<em>调用</em>不同库的代码,大家是怎么弄的啊,请多多发表看法。.
存储过程中调用参数
题目是这样的:rn创建一个名为CheckGender的<em>存储</em>过程,该过程接受一个名称做为其参数并检查名称的前缀为"Ms."还是"Mr."。如果前缀为"Ms.",则显示信息”您输入的是女性的姓名“。如果前缀为"Mr.",则显示信息”您输入的是男性的姓名“rnrn这个没<em>问题</em>:rnCREATE PROCEDURE CheckGenderrn@NameGender varchar(50)rnASrnIF @NameGender="Ms."rnBEGINrnPRINT '您输入的是女性的姓名'rnENDrnrnIF @NameGender="Mr."rnBEGINrnPRINT '您输入的是男性的姓名'rnENDrnrnrn但是下面的这个题目就有<em>问题</em>了。rn执行CheckGender<em>存储</em>过程,以参数的形式传递字符串"Ms.Olive Oyl"rn这个应该怎么写。rnExec CheckGender 'Ms.Olive Oyl'rn这样<em>调用</em>是没错,但是它执行以后只是显示命令已完成,而不做任何事。rn我现在想把这个字符串在查询分析器里显示出来,应该怎么做呢。rn难道也这样写?这样是不是不符合题意啊。rnIF @NameGender='Ms.Olive Oyl'rnBEGINrnPRINT 'Ms.Olive Oyl'rnENDrnExec CheckGender 'Ms.Olive Oyl'rnrn
存储过程中调用webservice
<em>存储</em><em>过程中</em><em>调用</em>webservice其实是在数据库中利用系统函数<em>调用</em>OLE. 1.查找webservice api 可得到MSSOAP.SoapClient。 2.查找API 接口可得到mssoapinit 方法。 3.查找数据库中执行OLE函数sp_OACreate、sp_OAMethod、sp_OADestroy。 到这里基本就完成了,下面是完整的<em>存储</em>过程。 --set SoapC...
存储过程中调用游标!
create procedure txmd_pbsjyrn@ylgg char(20)rnasrndeclare @pbbh char(20)rndeclare pbsjy cursor scrollrnfor select pbbh,ylgg from ymj.txmd_pbsjy where ylgg like '%'+@ylgg+'%'rnopen pbsjyrnfetch next from pbsjy into @ylgg,@pbbhrnwhile(@@fetch_status=0)rnbeginrnprint @pbbh+' '+@ylggrnfetch next from pbsjy into @ylgg,@pbbhrnendrnclose pbsjyrndeallocate pbsjyrn很奇怪,例如 16*12/108*56*47rnexec txmd_pbsjy ‘108*56*47’就有结果返回rnexec txmd_pbsjy ‘16*12’ 就只显示命令被成功执行??
调用存储过程中出错。
[set objCmd1=Server.CreateObject("Adodb.Command")rnobjCmd1.ActiveConnection=connrnobjCmd1.CommandText="SendMailFun" '指定<em>存储</em>过程名称rnobjCmd1.CommandType=adCmdStoredProc '其为Stored Procedurern'-----准备stored procedure 的参数-------rnrnobjCmd1.Parameters.Append objCmd1.CreateParameter("@FromUserName",adVarchar,adParamInput,14,"清风围棋")rnobjCmd1.Parameters.Append objCmd1.CreateParameter("@ToUserName",adVarchar,adParamInput,14,Session("QfUserName"))rnrnobjCmd1.Parameters.Append objCmd1.CreateParameter("@ShortMsgType",adSmallInt,adParamInput,,1)rnobjCmd1.Parameters.Append objCmd1.CreateParameter("@isCheckEnemy",adTinyInt,adParamInput,,0)rnrnobjCmd1.Parameters.Append objCmd1.CreateParameter("@MsgSendTime",adDBTimeStamp,adParamInput,,date())rnobjCmd1.Parameters.Append objCmd1.CreateParameter("@sContent",adVarchar,adParamInput,4000,rs4("leaguename")&"第"&rs4("leagueperiod")&"期"&msg)rnobjCmd1.Parameters.Append objCmd1.CreateParameter("@shoryMsgID",adInteger,adParamOutput,,0)rnobjCmd1.Parameters.Append objCmd1.CreateParameter("@bCheckCount",adTinyInt,adParamInput,,0)rnobjCmd1.Parameters.Append objCmd1.CreateParameter("@sRet",adInteger,adParamOutput,100,0)rnrnobjCmd1.Parameters.Append objCmd1.CreateParameter("@isAllMember",adTinyInt,adParamInput,100,0)rnobjCmd1.Parameters.Append objCmd1.CreateParameter("@isAllNoMember",adTinyInt,adParamInput,100,0)rnrn'-----执行<em>存储</em>过程----------------------rnobjCmd1.ExecuternrnrnMicrosoft OLE DB Provider for ODBC Drivers 错误 '80040e14' rnrn[Microsoft][ODBC SQL Server Driver][SQL Server]形式参数 '@bCheckCount' 定义为 OUTPUT,但实际参数却未声明为 OUTPUT。 rnrn/MyRich/bet/userbet_back.asp,行219 rnrn这个是为什么。 <em>存储</em><em>过程中</em>@bCheckCount'为input呀。 rn
存储过程中 调用 Java
一、如何创建java<em>存储</em>过程? 通常有三种方法来创建java<em>存储</em>过程。 1. 使用oracle的sql语句来创建: e.g. 使用create or replace and compile java source named &quot;&quot; as 后边跟上java源程序。要求类的方法必须是public static的,才能用于<em>存储</em>过程。 SQL&gt; create or ...
存储过程中调用WebService
1 create procedure usp_CallWebServices 2 ( 3 @parameter nvarchar(500)=null 4 ) 5 as 6 Declare @obj int 7 Declare @SvercieUrl nvarchar(200) 8 Declare @response nvarchar(max) 9 ...
存储过程中调用.sql文件
如题,想要在<em>存储</em><em>过程中</em>直接<em>调用</em>.sql文件,可以实现吗,如何实现?各位帮帮忙啊!!
SQL2008 链接Oracle 调用存储过程
最近接触了两个项目都用到了SQL与Oracle数据互通,其中一个数据同步还要<em>调用</em>ORACLE中的<em>存储</em>过程来执行相应的操作。 1. SQL链接ORACLE 都是可视化的操作 如下图: 红色框选的是oracle的数据驱动,如果没有这个驱动 那需要单独安装oracle的client端 装完以后就有了。2.在创建之前,在SQLSERVER中,链接服务器->访问接口->OraOLEDB.Oracl
如何在一个存储过程中执行跨网段的存储过程
各位老师好:rn 我用的是Sql Server2000数据库,并且把一个远程的Sql Server2000服务器加进了我的企业管理器中,我想在一个<em>存储</em><em>过程中</em>执行跨网段的<em>存储</em>过程,但总是不成功。请各位老师指点。rn <em>存储</em>过程代码如下:(其中我本机的IP为192.168.14.9,远程SQL服务器的IP为192.168.65.2,跨网段),如把<em>存储</em><em>过程中</em>的“begin transaction”与“commit”语句支掉,<em>存储</em>过程执行正常;但一加上就提示出错);rnCREATE procedure qch_maopi_ccgc asrnset xact_abort onrnbegin transaction rnrn--毛重上传rn--新增毛重记录插入到服务器上rninsert into [192.168.65.2].qch.dbo.mao select * from mao where zt='1' rnrn--同时删除本地机与服务器上zt='2'的记录rndelete [192.168.65.2].qch.dbo.mao where bh in(select bh from mao where zt='2')----推荐rnrndelete from mao where zt='2'rnrn--3.状态为3的记录(毛重更新)rn--a.删除服务器上与本机毛重记录状态为3的记录相应的记录rndelete [192.168.65.2].qch.dbo.mao where bh in(select bh from mao where zt='3')rn--b.把状态为3的记录增加到服务器上相应记录的回皮日期小于此条记录的回皮日期。rninsert into [192.168.65.2].qch.dbo.mao select * from mao where zt='3'rnrnrn--毛重下载rn--把服务器上状态为3的毛重记录更新到本地机上。rndelete from mao where exists(select * from [192.168.65.2].qch.dbo.mao where zt='3')rnrn--新增服务器有,本地机无的毛重记录rninsert into mao select * from [192.168.65.2].qch.dbo.mao as w where rnnot exists(select * from mao where mao.bh=w.bh)rnrn--删除本地毛重有,服务器毛重无的记录rndelete mao where not exists(select * from [192.168.65.2].qch.dbo.mao where bh=mao.bh)rnrnupdate [192.168.65.2].qch.dbo.mao set zt='0' where zt<>'3'rnrnupdate mao set zt='0'rnrnrnrnrn--皮重上传rn--a.删除服务器上回皮日期小于此条记录的相应记录。rndelete [192.168.65.2].qch.dbo.pi from [192.168.65.2].qch.dbo.pi as w,pi as p rnwhere w.hao=p.hao and p.rq2>w.rq2rn--b.把状态为3或为1的记录且回皮日期大于服务器上相应皮重记录的记录增加到服务器上rninsert into [192.168.65.2].qch.dbo.pi select * from pi where rnnot exists(select * from rn[192.168.65.2].qch.dbo.pi as w where w.hao=pi.hao)rnrn--皮重下载rn--①删除本地机回皮日期小于服务器相应皮重记录的记录rndelete from pi where not exists(select * from [192.168.65.2].qch.dbo.pi as w rnwhere w.hao=pi.hao and w.rq2
SQL2008报表查询调用存储过程的问题
已知有个系统的报表,<em>调用</em>了MSSQL2008里的一个<em>存储</em>过程,有什么有效的办法知道这个报表<em>调用</em>了哪个<em>存储</em>过程吗?
SQL2008存储过程中参数传入数据库名
SQL2008版本 ,<em>存储</em><em>过程中</em>,想根据传入的参数使用本地的其他数据库,大概意思是这样rn[code=sql]select * from @数据库名.dbo.表明[/code]rn请问应该怎么实现呢?求大神解答下
mssql 存储过程学习中 [4] 在存储过程中调用另一个存储过程
建一个简单的<em>存储</em>过程A,输出2个值:Create Proc A @AOUTPUT1 int output, @AOUTPUT2 int output As begin set @AOUTPUT1 = 100 set @AOUTPUT2 = 50 return end Go 建另一个<em>存储</em>过程B,在B里执行A,并获得A的2个结果值:Create Proc B As begin DECLARE @i as int DE
存储过程怎么跨库插入数据
比如人事系统中增加职员,除了在本系统中插入staff_id,staff_name.....还要在另外一台服务器上的系统插入staff_id,staff_name.....,<em>存储</em>过程怎么写??
关于存储过程中循环调用存储过程的问题.感谢!
有表table1,过程proc1rn如何把table1中的field1,field2赋给proc1中的@a,@b?不知这个循环语句如何写.感谢!!!rnrn----select field1,field2 from table1rn----exec proc1 @a=field1,@b=field2
oracle基础 存储过程中调用另一个有返回值的存储过程问题
<em>存储</em>过程不熟啊,现在有2个<em>问题</em>rn1.<em>调用</em>有返回值的<em>存储</em>过程,如果传参数的话,出参的参数用不用也传进去?rn如rnprocedure wwt_test2(inchar in varchar2,outchar out varchar2) is rnbegin rn outchar:=inchar; rn rnend wwt_test2;rn rnprocedure wwt_test1 is rnmyString varchar(1000); rntempString varchar(1000); rnsqlText varchar(1000); rnrnbegin rn rntempString :='already'; rnwwt_test2('wwt',tempString); --<em>问题</em>1,如果在这<em>调用</em>wwt_test2方法的话,出参必须要传进去么,可不可以不传(写成这样wwt_test2('wwt')),如果必须传的话 rnmyString:=tempString; 在这里tempString的值是wwt_test2中返回的'wwt'么;是不是如果wwt_test2中有跟wwt_test1出参数中一样的变量,这个变量就被wwt_test1返回值赋值了?rnrntempString :=wwt_test2('wwt',tempString);<em>问题</em>2 在一个wwt_test1中<em>调用</em>另一个有返回值的<em>存储</em>过程B,可不可以这样调wwt_test2,这样直接去赋值。rnsqlText:='insert into wwt_table_test values('''||myString||''')'; rndbms_output.put_line('==>'||sqlText); rnrnend wwt_test1; rnrnrnrnrn
DB2中一个存储过程中调用另一个存储过程问题
<em>存储</em>过程1rnCREATE PROCEDURE ALAN_CHAN.PROC1 ()rn RESULT SETS 1rn LANGUAGE SQLrnP1: BEGINrn DECLARE cursor1 CURSOR WITH RETURN TO CALLER FORrn SELECT IMITM rn FROM CRPDTA.F4101 rn WHERE RTRIM(CRPDTA.F4101.IMLITM) = '13591.23383';rn open cursor1;rnEND P1rn rn<em>存储</em>过程2rnCREATE PROCEDURE ALAN_CHAN.PROC2 (OUT OUT_STR VARCHAR(100)) rnLANGUAGE SQLrnP1: BEGIN rn declare loc1 result_set_locator varying;rn --<em>调用</em>该SP返回结果集rn call ALAN_CHAN.PROC1;rn --将返回结果集和结果集数组关联rn associate result set locator(loc1) with procedure ALAN_CHAN.PROC1; rn --将结果集数组分配给cursorrn allocate cursor1 cursor for result set loc1;rn --直接从结果集中赋值 rn fetch cursor1 INTO OUT_STR;rn --关闭游标rn close cursor1;rnEND P1rn rn运行ALAN_CHAN.PROC2后产生错误,返回的SQLCODE为SQL0104,我查找IBM的SQL Message说是语法有错误,请大家帮忙看看rn另外我的运行环境是 IBM AS400/DB2 V5R3,IBM Developer Workbench编写<em>存储</em>过程rn
关于在一个存储过程中调用另外四个存储过程的问题
大家好,遇到的难题是这样的,写一个<em>存储</em>过程,需求是rn先用一条查询语句查出一个结果集,如select * from 表1 where entitid=@entitid,在结果集中包括字段hedge_id,现在想利用游标循环查询出来hedge_id的值,对每个它的值执行四个已存在的<em>存储</em>过程,假如第一个值是48,这四个<em>存储</em>过程如下:rn1.运行dbo.Hedge_get<em>存储</em>过程,并用前面查询出来的hedge_id的值做为它的参数,得到一个表h,并将h与bank表连接on h.courter_id=bank.courter_id,并连接agent表on bank.agent_id=agent.agent_idrn2.运行dbo.Hedge_Payment_get<em>存储</em>过程,并用前面查询出来的hedge_id的值做为它的参数,并且payment_type='TC',得到表tcrn3.同上,.运行dbo.Hedge_Payment_get<em>存储</em>过程,并用前面查询出来的hedge_id的值做为它的参数,并且payment_type='FC'得到表FCrn然后将以上这三个表的内容合并为一个表输出,请教各位高手,做了很长时间没有弄出来,在线等!rn
难点,在存储过程中调用存储过程的错误捕捉问题
就是在<em>存储</em><em>过程中</em><em>调用</em>一个子<em>存储</em>过程,但子储<em>过程中</em>可能有错,rn怎么有办法在子<em>存储</em>出错时不会中断,而使<em>调用</em>它的<em>存储</em>过程继续执行,并且知道子<em>存储</em>过程出错了
请问,存储过程和触发器的问题(跨库)
如果一个<em>存储</em>过程或着触发器中要操作另一个服务器里的一张表该什么写,会不会产生不良的后果~rnrnrn谢谢
sql2008 存储过程传值问题
ALTER PROCEDURE [dbo].[Dealer_ADD]rn@Number varchar(20),rn@Password varchar(20),rn@Names nvarchar(20),rn@CreateTime datetime,rn@Login bit,rn@DealerId intrn AS rn declare @UsersId int,rn @FunId intrnrn INSERT INTO DealerUser ([Number],[Password],[Names],[CreateTime],[Login],[DealerId]) VALUES(@Number,@Password,@Names,@CreateTime,@Login,@DealerId)rn set @UsersId=@@IDENTITYrn rn rn DECLARE rs CURSOR LOCAL SCROLL FORrn select Id from DealerFunctionrn OPEN rsrn FETCH NEXT FROM rs INTO @FunIdrn WHILE @@FETCH_STATUS = 0rn BEGINrn INSERT INTO DealerLimits VALUES(@FunId,@UsersId,0)rn FETCH NEXT FROM rs INTO @FunIdrn ENDrn CLOSE rsrnrnGOrnrnrn public int insertDealerUser(string Number, string Password, string Names) rnrn DataTable dt = db.QueryTable("select Id from DealerUser where Number=@Numbers", new SqlParameter("@Numbers", Number));rn dt.Dispose();rn db.Close();rn if (dt != null && dt.Rows.Count > 0)rn rn return -1;rn rn elsern rn SqlParameter[] par=new SqlParameter[]rn new SqlParameter("@Number",Number),rn new SqlParameter("@Password",Password),rn new SqlParameter("@Names",Names),rn new SqlParameter("@CreateTime",DateTime.Now),rn new SqlParameter("@Login",Convert.ToBoolean(false)),rn new SqlParameter("@DealerId","0"),rn ;rnrn int val = db.Execute("Dealer_ADD", par);rn db.Close();rn return val;rn rn rnrn 确定以后 总是弹出 @Number 未传值的错误 求大侠rnrn过程或函数 'Dealer_ADD' 需要参数 '@Number',但未提供该参数。
哈工大机械设计课件PPT下载
哈尔滨工业大学机械设计课件,由于文件较大,分开上传 相关下载链接:[url=//download.csdn.net/download/omengfeifeio/1973095?utm_source=bbsseo]//download.csdn.net/download/omengfeifeio/1973095?utm_source=bbsseo[/url]
VMware Workstation8注册版带汉化包part1下载
VMware Workstation8注册版带汉化包,由于上传容量限制,共分9个压缩分卷,请全部下载后解压安装 相关下载链接:[url=//download.csdn.net/download/seansgq/3884120?utm_source=bbsseo]//download.csdn.net/download/seansgq/3884120?utm_source=bbsseo[/url]
易我电脑数据恢复,免注册版下载
易我电脑数据恢复,免注册版,免费,恢复电脑里面已删除,u盘格式化后的文件,超强大 相关下载链接:[url=//download.csdn.net/download/dicktoo/5118967?utm_source=bbsseo]//download.csdn.net/download/dicktoo/5118967?utm_source=bbsseo[/url]
相关热词 c#异步发送kafka c#窗体编号 c# 操作二进制文件 c# 反射 机制 c#线程 窗体失去响应 c#角度转弧度 c# 解析gps数据 c# vs设置 语法版本 c# json含回车 c#多线程demo
我们是很有底线的