当前位置:首页 » 存储配置 » sql计算并存储

sql计算并存储

发布时间: 2024-09-25 21:35:11

A. 如何将sql查询出来的一列数据赋值,执行存储过程

CREATE TABLE #Rtb_temp(
rid int not null identity(1,1),
id VARCHAR(50)
)
declare @id VARCHAR(5000),
@CP int=0,
@maxCP int=0,
@sql nvarchar(max)=''
insert into #Rtb_temp select id from tb
select @maxCP=MAX(rid) from #Rtb_temp
DECLARE MS CURSOR FOR
SELECT rid,id FROM #Rtb_temp
OPEN MS
FETCH NEXT FROM MS INTO @CP,@id
WHILE @@fetch_status=0
BEGIN
IF @CP <@maxCP
BEGIN
SELECT @sql=@sql+@id+','
END else
begin
select @sql=@sql+@id
end
FETCH NEXT FROM MS INTo @CP,@id
END
CLOSE MS
DEALLOCATE MS
exec Proceres @id=@sql
这样写会好点,可以把所有数据显示在一张表里面 。看是否OK、

B. SQL 中存储过程怎么使用

一、简单的储存过程:

1、创建一个存储过程

create procere GetUsers()

begin

select * from user;

end;12345

2、调用存储过程

call GetUsers();12

3、删除存储过程

drop procere if exists GetUsers;

二、带参数的存储过程

1、MySql 支持 IN (传递给存储过程) , OUT (从存储过程传出) 和 INOUT (对存储过程传入和传出) 类型的参数 , 存储过程的代码位于 BEGIN 和 END 语句内 , 它们是一系列 SQL 语句 , 用来检索值 , 然后保存到相应的变量 (通过指定INTO关键字) ;

2、下面的存储过程接受三个参数 , 分别用于获取用户表的最小 , 平均 , 最大分数 , 每个参数必须具有指定的类型 , 这里使用十进制值(decimal(8,2)) , 关键字 OUT 指出相应的参数用来从存储过程传出

create procere GetScores(

out minScore decimal(8,2),

out avgScore decimal(8,2),

out maxScore decimal(8,2)

)

begin

select min(score) into minScore from user;

select avg(score) into avgScore from user;

select max(score) into maxScore from user;

end;1234567891011

3、调用此存储过程 , 必须指定3个变量名(所有 MySql 变量都必须以@开始) , 如下所示 :

call GetScores(@minScore, @avgScore, @maxScore);12

4、该调用并没有任何输出 , 只是把调用的结果赋给了调用时传入的变量@minScore, @avgScore, @maxScore, 然后即可调用显示该变量的值 :

select @minScore, @avgScore, @maxScore;

5、使用 IN 参数 , 输入一个用户 id , 返回该用户的名字 :

create procere GetNameByID(

in userID int,

out userName varchar(200)

)

begin

select name from user

where id = userID

into userName;

end;12345678910

6、调用存储过程 :

call GetNameByID(1, @userName);

select @userName;123

C. 如何用SQL语句将查询结果存储到文本文件中

1.打开考生文件夹下的数据库College,物理删除该数据库中的temp表,然后将3个自由表"教师表"、"课程表"和"学院表"添加到该数据库中。 2.为"课程表"和"教师表"分别建立主索引和普通索引,字段名和索引名均为"课程号",并为两个表建立一对多的联系。 3.使用SQL语句查询"教师表"中工资大于等于4500的教师的全部信息, 将查询结果按职工号升序排列, 查询结果存储到文本文件one.txt中 ,SQL语句存储于文件two.prg中。

D. SQL server 创建存储过程,要求该存储过程能够实现对输入的两个数相加,并将结果输出。。

一、创建

create proc p_sum

(@a int,

@b int,

@c int output)

as

set @c=@a+@b

--执行

declare @c int

exec p_sum 11 ,2 ,@c output

print @c

二友猜、create proc p_multiply(@a int=0,@b int=0,@c int output)

as

begin

set @c=@a*@b

end

--调用

--declare @a int,@b int,@c int

--select @a=3,@b=2

--exec p_multiply @a,@b,@c output

--select @c

(4)sql计算并存储扩展阅读:

例子:

CREATE PROCEDURE order_tot_amt

@o_id int,

@p_tot int output

AS

SELECT @p_tot = sum(Unitprice*Quantity)

FROM orderdetails

WHERE orderid=@o_id

GO

例子说明:该例子是建立指没一个简单的存储过程order_tot_amt,这个存储过程根据用户输入的订单ID号码(@o_id),由订单明细表 (orderdetails)中计算该订单销售总额[单价(Unitprice)*数量(Quantity)],这一金额通过@p_tot这一参数输出给调用这一存好逗型储过程的程序。

E. 使用SQL语句创建存储过程

使用SQL语句创建存储的具体过程如下:

1、首先,打开企业管理器,选择【工具】-【查询分析器】:

热点内容
白领解压操 发布:2024-09-26 00:14:42 浏览:776
javaweb商城项目源码 发布:2024-09-25 23:47:35 浏览:518
ftp连接控制流量 发布:2024-09-25 23:40:26 浏览:284
固态硬盘如何设置缓存 发布:2024-09-25 23:00:00 浏览:148
为什么谷歌设置安卓标杆机 发布:2024-09-25 22:47:44 浏览:572
oracle创建数据库服务器 发布:2024-09-25 22:34:13 浏览:237
汽车销售系统数据库设计 发布:2024-09-25 22:28:27 浏览:239
密码为什么不可以告诉别人 发布:2024-09-25 22:21:01 浏览:992
怎么用服务器玩游戏 发布:2024-09-25 22:12:41 浏览:938
vs编译器如何遮蔽一段代码 发布:2024-09-25 21:53:50 浏览:411