SQL一次查出相关类容避免长时间占用表(下)

/*
server:
db: EDI
*/
-- 以下案例多次查询同一张表,仅有Name条件不同
--可以使用一次查出相关类容避免长时间占用表
USE EDI
GO
DECLARE @FileTypeID_X12850 int 
       ,@FileTypeID_X12832 int 
       ,@FileTypeID_X12846 int 
SELECT TOP 1 
    @FileTypeID_X12850 = ID 
FROM dbo.EDI_CFG_FileType WITH(NOLOCK) 
WHERE 
    Name='X12850' 
SELECT TOP 1 
    @FileTypeID_X12832 = ID 
FROM dbo.EDI_CFG_FileType WITH(NOLOCK) 
WHERE 
    Name='X12832' 
SELECT TOP 1 
    @FileTypeID_X12846 = ID 
FROM dbo.EDI_CFG_FileType WITH(NOLOCK) 
WHERE 
    Name='X12846' 



---更改后

use EDI
go

DECLARE @FileTypeID_X12850 int 
       ,@FileTypeID_X12832 int 
       ,@FileTypeID_X12846 int 

select @FileTypeID_X12850=X12850
		,@FileTypeID_X12832=X12832
		,@FileTypeID_X12846=X12846

--select X12850,X12832
from
	(
		select ID,Name from dbo.EDI_CFG_FileType WITH(NOLOCK) 
		where Name in('X12850','X12832','X12846')
	) as tem
pivot
(
	max(ID)
	for
	Name in ([X12850],[X12832],[X12846])
)
as piv
select @FileTypeID_X12850
	,@FileTypeID_X12832
	,@FileTypeID_X12846

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏乐沙弥的世界

批量生成sqlldr文件,高速卸载数据

      SQL*Loader 是用于将外部数据进行批量高速加载的数据库的最高效工具,可用于将多种平面格式文件加载到Oracle数据库。SQL*Loader支...

1122
来自专栏乐沙弥的世界

函数使得索引列失效

      在索引列上使用函数使得索引失效的是常见的索引失效原因之一,因此尽可能的避免在索引列上使用函数。尽管可以使用基于函数的索引来 解决索引失效的问题,但...

963
来自专栏后台日记

Mysql INSERT ON DUPLICATE KEY UPDATE

INSERT ... ON DUPLICATE KEY UPDATE是MySQL insert的一种扩展。当发现有重复的唯一索引(unique key)或者主键...

1373
来自专栏乐沙弥的世界

PL/SQL --> DML 触发器

何谓触发器?简言之,是一段命名的PL/SQL代码块,只不过该代码块在特定的条件下被触发并且执行。对于这样的代码我们称之为触发器

953
来自专栏跟着阿笨一起玩NET

Sql Server 存储过程使用技巧

Copy下面的代码,然后新建查询,就可以写sql语句,执行完后,一个你自己的存储过程就建立好了!

671
来自专栏zingpLiu

python【第十二篇】Mysql基础

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据。我们也可...

902
来自专栏Java帮帮-微信公众号-技术文章全总结

MySQL全部知识点(2)

6 聚合函数 聚合函数是用来做纵向运算的函数: l COUNT():统计指定列不为NULL的记录行数; l MAX():计算指定列的最大值,如果指定列是字符串类...

3457
来自专栏文渊之博

mysql表分区简述

数据库分区是一种物理数据库设计技术。虽然分区技术可以实现很多效果,但其主要目的是为了在特定的SQL操作中减少数据读写的总量以缩减sql语句的响应时间,同时对于应...

893
来自专栏极客慕白的成长之路

SQL Sever基本知识

create table tablename(col_name1 type,col_name2 type,...) 在数据库school下创建一个student...

462
来自专栏杨建荣的学习笔记

关于reset sequence(r3笔记第85天)

sequence在工作中使用比较频繁,对于Insert中插入的值,如果只需要它能够自动递增,这个时候sequence就派上用场了。 但是既然sequence的值...

3038

扫码关注云+社区