VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1383|回复: 13

新手求一SQL存储过程(在线等...)

[复制链接]

3

主题

10

帖子

11.00

积分

新手上路

Rank: 1

积分
11.00
发表于 2020-2-12 07:00:01 | 显示全部楼层 |阅读模式
表temp:
ID 产品ID  时间  v1  v2  v3  v4  sums

v1--v4的默认值1
sums=v1+v2+v3+v4

问题:当只要输入 “产品ID”后,表中自动完成  得到当前系统时间和sums的值

例:执行语句insert temp (产品ID) values('2001'),查询表后得到:

ID 产品ID  时间  v1  v2  v3  v4  sums
1   2001   17:20  1   1   1   1   4
回复

使用道具 举报

0

主题

6

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
发表于 2020-4-8 15:15:01 | 显示全部楼层
设置默认值就可以了。
时间:getdate()
v1:1
v2:1
v3:1
v4:1
sums:v1+v2+v3+v4
回复

使用道具 举报

0

主题

88

帖子

55.00

积分

新手上路

Rank: 1

积分
55.00
发表于 2020-4-8 19:45:01 | 显示全部楼层
用触发器好点

create trigger auto_update on temp
for insert
as
   update temp set 时间 = getdate() , sums = v1+v2+v3+v4 from inserted a where a.产品ID= 产品ID
回复

使用道具 举报

0

主题

5

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
发表于 2020-4-8 20:15:02 | 显示全部楼层
想自动完成用触发器啊
回复

使用道具 举报

3

主题

10

帖子

11.00

积分

新手上路

Rank: 1

积分
11.00
 楼主| 发表于 2020-4-8 22:30:01 | 显示全部楼层
谢谢  cv4bf5d65fd
回复

使用道具 举报

0

主题

6

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
发表于 2020-4-8 22:45:01 | 显示全部楼层
用触发器好点

create trigger auto_update on temp
for insert
as
   update temp set 时间 = getdate() , sums = v1+v2+v3+v4 from inserted a where a.产品ID= 产品ID

-----------------------------------------------
其中sums = v1+v2+v3+v4 ,输入的时候就没有输入这4个字段的值,所以这个触发器不能用
回复

使用道具 举报

0

主题

93

帖子

46.00

积分

新手上路

Rank: 1

积分
46.00
发表于 2020-4-9 09:45:02 | 显示全部楼层
给其它列赋值为1就行了
回复

使用道具 举报

0

主题

211

帖子

108.00

积分

新手上路

Rank: 1

积分
108.00
发表于 2020-4-9 10:45:01 | 显示全部楼层
create table T(id int identity, 产品ID varchar(10),
时间 char(5) default convert(char(5), getdate(), 108),
v1 int default 1,
v2 int default 1,
v3 int default 1,
v4 int default 1,
sums as v1+v2+v3+v4
)

insert T(产品ID) values('2001')

select * from T
--result
id          产品ID       时间    v1          v2          v3          v4          sums        
----------- ---------- ----- ----------- ----------- ----------- ----------- -----------
1           2001       17:22 1           1           1           1           4

(1 row(s) affected)
回复

使用道具 举报

0

主题

211

帖子

108.00

积分

新手上路

Rank: 1

积分
108.00
发表于 2020-4-9 11:45:02 | 显示全部楼层
用默認值和計算列就可以了
回复

使用道具 举报

3

主题

10

帖子

11.00

积分

新手上路

Rank: 1

积分
11.00
 楼主| 发表于 2020-4-9 23:45:01 | 显示全部楼层
问题:  执行结果
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表