当前位置:首页 » 存储配置 » sqlserver调用存储

sqlserver调用存储

发布时间: 2022-09-05 01:12:34

sqlserver··存储过程里如何调用另外的存储过程,被调用的存储过程名以参数的方式传入

exec ('exec '+存储过程名参数)

② sqlserver 链接服务器调用存储过程

加入 我创建一个存储过程:
create porc AB_CDE
@A int,
@B int
as
这里面就是内容了
就在阵容里面具体 操作 存储过程~~~~~~~~

给一个例子:

--插入时要判断是否重复插入
declare @id int
declare @sNo varchar(100)
declare @sName varchar(100)
declare @sex varchar(10)
declare @jiguan varchar(100)
declare @gongzuodanwei varchar(200)
declare @wu varchar(100)
declare @tongxundi varchar(200)
declare @youzhengbianma varchar(100)
declare @lianxidianhua varchar(100)
declare @yidongdianhua varchar(100)
declare @dianziyouxiang varchar(100)
declare @shenfenzheng varchar(100)
declare @chushengriqi datetime
declare @xueli varchar(100)
declare @biyexuexiao varchar(100)
declare @biyezhuanye varchar(100)
declare @biyenianyue datetime
declare @xuewei varchar(100)
declare @mingzhu varchar(100)
declare @zhengmianmao varchar(100)
declare @regDate datetime
declare @result int
set @result=0
set @regDate=getdate()
begin tran
declare cur cursor for select 学号,姓名,性别,籍贯,工作单位,职务,通讯地址,邮政编码,联系电话,移动电话,电子邮箱,身份证号码,出生日期,学历,毕业学校,毕业专业名称,毕业年月,学位,民族,政治面貌 from #tmp
open cur
fetch next from cur into @sNo,@sName,@sex,@jiguan,@gongzuodanwei,@wu,@tongxundi,@youzhengbianma,@lianxidianhua,@yidongdianhua,@dianziyouxiang,@shenfenzheng,@chushengriqi,@xueli,@biyexuexiao,@biyezhuanye,@biyenianyue,@xuewei,@mingzhu,@zhengmianmao

while @@fetch_status=0
begin
--学生在学生表中不存在才插入
if not exists (select 1 from vtd02 where 学号=@sNo)
begin
--插入学生资料
exec @id=PTD02_Insert @F01=@sName,@F02=@sex,@F36=@sNo,@FIDTB01=@classId,@F32=10,@F05=@jiguan,
@F17=@gongzuodanwei,@F15=@wu,@F11=@tongxundi,
@F07=@youzhengbianma,@F10=@lianxidianhua,@F09=@yidongdianhua,
@F08=@dianziyouxiang,@F18=@shenfenzheng,@F06=@chushengriqi,
@F43=@xueli,@F12=@biyexuexiao,@F13=@biyezhuanye,
@F14=@biyenianyue,@F44=@xuewei,@F04=@mingzhu,@F45=@zhengmianmao
--插入学生帐号
exec PUB02_Insert @F01=@sNo,@F02=@password,@FIDUB01=3,@FIDF03=@id,@F04=1,@F05=@regDate

fetch next from cur into @sNo,@sName,@sex,@jiguan,@gongzuodanwei,@wu,@tongxundi,@youzhengbianma,@lianxidianhua,@yidongdianhua,@dianziyouxiang,@shenfenzheng,@chushengriqi,@xueli,@biyexuexiao,@biyezhuanye,@biyenianyue,@xuewei,@mingzhu,@zhengmianmao

end
else
begin
fetch next from cur into @sNo,@sName,@sex,@jiguan,@gongzuodanwei,@wu,@tongxundi,@youzhengbianma,@lianxidianhua,@yidongdianhua,@dianziyouxiang,@shenfenzheng,@chushengriqi,@xueli,@biyexuexiao,@biyezhuanye,@biyenianyue,@xuewei,@mingzhu,@zhengmianmao
end
end
close cur
deallocate cur
if @@error<>0 rollback tran
commit tran

上面比如是一个存储过程。
然后: exec PUB02_Insert @F01=@sNo,@F02=@password,@FIDUB01=3,@FIDF03=@id,@F04=1,@F05=@regDate
这个就是在上面掉用的存储过程。 exec 存储过程name 具体参数

如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!

vaela

java调用Sqlserver的存储过程的问题!!!! (有项目开发经验者请进!!为了完成每日任务的让避让)

事务包含在存储过程中,你详细看一下事务的级别以及事务的生存周期

④ java 调用SqlServer 2000存储过程的问题

以下两种:
CallableStatement stat = con.prepareCall("call procname(?,?)");
stat.execute()
or
PrepareStatment stat = con.prepareCall("Exec procname ?,?");
rs = stat.executeQuery();

视图调用同表一样!,这个问题记得之前的远标学到过的,希望对你有所帮助
追问
我调用是没有问题的,只是调用过程中存过没有运行结束,execute()语句就跳出来了,实际上存过还在运行

⑤ sql server 存储过程如何调用存储过程

调用存储过程demo(无参数的存储)
进入查询界面输入以下内容
exec
demo----执行存储过程

⑥ 在Net下调用SqlServer2k中存储过程

.Net下调用SqlServer2k中存储过程
.Net下调用SqlServer2k中存储过程
首先,在SqlServer中创建存储过程,在调用时分为有参数和没有参数两种情况,首先,在SqlServer中创建存储过程,在调用时分为有参数和没有参数两种情况,
先就简单的没有参数的情况简要的介绍:先就简单的没有参数的情况简要的介绍:
假设存储过程如下:
CREATE
PROC
SelectAll假设存储过程如下:
CREATE
PROC
SelectAll
AS
AS
SELECT
*
FROM
StudentInf
SELECT
*
FROM
StudentInf
则此sp的调用如下:则此sp的调用如下:
SqlCommand
selectCMD
=
new
SqlCommand(“SelectAll”,
conn);
SqlCommand
selectCMD
=
new
SqlCommand(“SelectAll”,
conn);
//conn
为SqlConnection
//conn为SqlConnection
selectCMD.CommandType
=
CommandType.StoredProcere;
selectCMD.CommandType
=
CommandType.StoredProcere;
如果需要将结果集加到某个DataAdapter上,则可如下:如果需要将结果集加到某个DataAdapter上,则可如下:
SqlDataAdapter
stuDA
=
new
SqlDataAdapter();
SqlDataAdapter
stuDA
=
new
SqlDataAdapter();
stuDa.SelectCommand
=
selectCMD;
stuDa.SelectCommand
=
selectCMD;
如果有参数:create
proc
andSelect如果有参数:create
proc
andSelect
@StudentId
varchar(10),
@StudentId
varchar(10),
@StudentName
varchar(10),
@StudentName
varchar(10),
As
As
Select
*
from
StudentInf
where
StudentId
=
@StudentId
and
StudentName
=
@StudentName
Select
*
from
StudentInf
where
StudentId
=
@StudentId
and
StudentName
=
@StudentName
则参数可以如下添加:则参数可以如下添加:
selectCMD.Parameters.Add(
“@StudentId
”,
SqlDbType.NVarChar,
10);
selectCMD.Parameters.Add(
“@StudentId
”,
SqlDbType.NVarChar,
10);
selectCMD.Parameters.Add(
“@StudentName
”,
SqlDbType.NvarChar,
10);
selectCMD.Parameters.Add(
“@StudentName
”,
SqlDbType.NvarChar,
10);
如果只有一个参数,也可以这样赋值:如果只有一个参数,也可以这样赋值:
SqlParameters
onePara
=
selectCMD.Parameters.Add(
“@StudentId
”,
SqlDbType.NVarChar,
10);
SqlParameters
onePara
=
selectCMD.Parameters.Add(
“@StudentId
”,
SqlDbType.NVarChar,
10);
onePara.Value
=

a
string

onePara.Value
=

a
string

⑦ 如何调用存储过程sqlserver

EXEC 存储过程名。有参数的就 EXEC 存储过程名[参数1],[参数2]...。如:

EXECtestProc
EXECtestProc@id,@type

⑧ SqlServer带参存储过程的调用

set @strSQL = 'select top ' + str(@PageSize) +' '+@strGetFields+ '
from [' + @tblName + '] where ' + @strWhere + ' ' + @strOrder
else

set @strSQL = 'select top ' + str(@PageSize) +' '+@strGetFields+ '
from ['+ @tblName + '] '+ @strOrder--如果是第一页就执行以上代码,这样会加快执行速度

上面两个from前有全角符号,别换行改到一起就可以了
set @strSQL = 'select top ' + str(@PageSize) +' '+@strGetFields+ ' from [' + @tblName + '] where ' + @strWhere + ' ' + @strOrder
else

set @strSQL = 'select top ' + str(@PageSize) +' '+@strGetFields+ ' from ['+ @tblName + '] '+ @strOrder--如果是第一页就执行以上代码,这样会加快执行速度

⑨ sqlserver调用存储过程返回的结果集,怎么插入到临时表里面,请教语法是怎样的。

存储过程中创建临时表,然后select * into 临时表 from 数据表
不过有个问题,在存储过城中创建临时表的话,根本就不能对它进行操作,会提示不存在的,所以要么就直接建一个表,在存储过程中插入数据时先清空表就好了

⑩ node.js调用sqlserver的存储过程

node.js访问sqlserver 使用mssql模块。
地址:"https://github.com/patriksimek/node-mssql
var mssql =require("mssql") ;
--------------------
sql.connect(config, function (err) {
if (err) {
return callback(err);
}

var request = new sql.Request();
// request.input('stuName', sql.VarChar(50),stuName);
// request.input('age', sql.Int,parseInt(age));
request.execute('usp_SelectStudentsAll', function (err, recordsets, returnValue) {
if (err) {

return callback(err);
}
console.log(recordsets.length); // count of recordsets returned by the procere
console.log(recordsets[0].length); // count of rows contained in first recordset
console.log(returnValue); // procere return value
console.log(recordsets.returnValue); // same as previous line
callback(err, recordsets, returnValue);

});
});

热点内容
编程中是什么意思 发布:2025-01-10 12:50:38 浏览:670
jsp的数据库连接配置 发布:2025-01-10 12:49:03 浏览:484
oracle数据库代码 发布:2025-01-10 12:42:11 浏览:38
电脑tb账户密码是多少 发布:2025-01-10 12:34:38 浏览:348
方舟如何进私人服务器 发布:2025-01-10 12:33:01 浏览:349
桌球游戏源码 发布:2025-01-10 12:32:44 浏览:549
红米note4x存储 发布:2025-01-10 12:23:05 浏览:157
游娱宝盒怎么安装安卓系统 发布:2025-01-10 12:20:13 浏览:941
androidssl 发布:2025-01-10 12:20:06 浏览:133
iphone微信缓存怎么清理 发布:2025-01-10 12:20:04 浏览:419