读书人

两个关于存储过程的有关问题

发布时间: 2012-03-06 20:47:55 作者: rapoo

两个关于存储过程的问题
1、假如有多个用户同时调用同一个存储过程,会有分先后顺序执行吗?

2、有一个表(table1),字段有ID,PO,code,记录有1000条。有一个存储过程sp1(作用是根据传递进来的PO和code参数,按一定的规则转换成我要的数据,保存到表table2),我想再写一个存储过程,把table1的每一条记录的PO和code,通过sp1转换成我要的数据,保存到表table2,这个存储过程该如何写呢?谢谢!

[解决办法]
1、假如有多个用户同时调用同一个存储过程,会有分先后顺序执行吗?

---------
如果,你的存储过程只是查询的话,我想是不会分先后的,如果有update,insert,delete 的话,是一定有循序(个人看法)



2、有一个表(table1),字段有ID,PO,code,记录有1000条。有一个存储过程sp1(作用是根据传递进来的PO和code参数,按一定的规则转换成我要的数据,保存到表table2),我想再写一个存储过程,把table1的每一条记录的PO和code,通过sp1转换成我要的数据,保存到表table2,这个存储过程该如何写呢?谢谢!

-----------------
我可以提供一个可以调用存储过程集的方法给你

select * into #t
from openrowset('sqloledb','ip';'sa';'','set fmtonly off ;exec sp1(''参数'')'
[解决办法]
1.
SQL Server每不同的接使用一程,因此在不同程,先後序是不定的,於更改的操作量使用事行.

2.
大致的思路是,使用,每行,行sp1存程.

如果不想使用,你建,把sp1不做存程,而作一自定的SQL函function,,你在整表的操作,需要一句就OK,如下:
SELECT dbo.sp1([ID],[PO]) FROM table1
[解决办法]
1 会有先后顺序,有系统随机决定
2 agree楼上
[解决办法]

SQL code
--先将table1中的PO号更新update table1set po=转换函数(po)--将之后的数据插入table2,如果是一次性的话select * into table2 from table2 

读书人网 >SQL Server

热点推荐