首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Server中保存我的查询(公式)

如何在Server中保存我的查询(公式)
EN

Stack Overflow用户
提问于 2016-09-05 00:28:52
回答 3查看 59关注 0票数 0

我有一个像这样的默认表

代码语言:javascript
运行
复制
+--+----------+--------+------+
|Id|class_name|class_id|medals|
+--+----------+--------+------+
|1 |7IPA1     |7       |3     |
|2 |7IPA2     |7       |2     |
|3 |7IPA3     |7       |5     |
|4 |8IPA1     |8       |1     |
|5 |8IPA2     |8       |7     |
|6 |8IPA3     |8       |3     |
+--+----------+--------+------+

它将由

代码语言:javascript
运行
复制
UPDATE MYTABLE 
SET CLASS_ID = SUBSTRING(CLASS_NAME,1,4)


+--+----------+--------+------+
|Id|class_name|class_id|medals|
+--+----------+--------+------+
|1 |7IPA1     |7IPA    |3     |
|2 |7IPA2     |7IPA    |2     |
|3 |7IPA3     |7IPA    |5     |
|4 |8IPA1     |8IPA    |1     |
|5 |8IPA2     |8IPA    |7     |
|6 |8IPA3     |8IPA    |3     |
+--+----------+--------+------+

如何保存此查询?这样,当我插入新数据时,此查询将自动执行。

我使用sql server management studio 2012

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-09-05 01:49:28

也许你可以像下面这样使用跳跳虎

代码语言:javascript
运行
复制
create trigger trigger_class_id on MYTABLE 
After 
  insert
as 
UPDATE 
  MYTABLE 
SET 
  CLASS_ID = SUBSTRING(CLASS_NAME, 1, 4) WHERE ID=inserted.ID
票数 1
EN

Stack Overflow用户

发布于 2016-09-05 00:32:36

你不想这样做作为一个更新。相反,您希望有一个计算列。

代码语言:javascript
运行
复制
alter table mytable add class_id as (left(class_name, 4));

当然,在执行此命令之前,您需要确保列名(class_id)尚未在表中。

票数 2
EN

Stack Overflow用户

发布于 2016-09-05 11:10:00

您可以使用tigger,也可以将此查询与insert查询一起添加。那么你的查询就会是。

代码语言:javascript
运行
复制
Insert into MYTABLE (class_name,class_id,medals) values('','','')
UPDATE MYTABLE 
SET CLASS_ID = SUBSTRING(CLASS_NAME,1,4)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39322619

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档