sql2000插入数据自动运算

来源:百度知道 编辑:UC知道 时间:2024/05/12 04:22:08
我做了一张表,在我插入第一个,第二个数据,第三个数据是:(第一个数据+第二个数据)/2,插入第3个数据,第四个数据是:第三个数据/第一个数据
怎么用slq语言实现呢?

Create procedure insertable
@s int ,@l int
as
insert into 表
varluse (@s,@l,(@s+@l)/2,(@s+@l)/2/@s)

这上面的 存储过程可以帮上你,需要修改表名,并且插入的表要有4列,我使用的两个变量都是整数,你可以根据需要修改两个变量的数据类型
调用是输入EXEC insertable 第一个值,第二个值
--------------------------------------------------
上面的方法是表已经存在不适合修改表的情况
还有一种方法是虚拟列,需要在建表或修改表的时候才能用.
格式是这样的
create table tablename
(a1 int ,
a2 int ,
a3 as (a1+a2)/2 ,
a4 as (a1+a2)/2/a1 )
这样的表就会在使用insert into 的时候只用输入a1,a2值,a3,a4的值会根据公式自动算的,当然你使用update a1 ,a2其中 一个值的话,a3,a4也会跟着变的.

这个表是你自己建的,那还不简单:
你先建一个自动加“1”的列 "AUTO_ID" 然后SQL语句如下:

一,插入你需要的第一和第二个数据
insert into 表 (数据字段名)VALUES (select 第一个数据)
insert into 表 (数据字段名)VALUES (select 第二个数据)

二,写个循环设定循环次数,插入目标数据:

DECLARE @N int --@N作为你要循序的次数
set @N=1

WHILE @N<10 --请把10修改为你要循序的次数
BEGIN
insert into 表 (数据字段名)VALUES (
select 数据字段名A +数据字段名B as 数据字段名 from