惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

www.infosecurity-magazine.com
www.infosecurity-magazine.com
D
DataBreaches.Net
T
Tailwind CSS Blog
M
MIT News - Artificial intelligence
Stack Overflow Blog
Stack Overflow Blog
F
Full Disclosure
V2EX - 技术
V2EX - 技术
N
News and Events Feed by Topic
Help Net Security
Help Net Security
L
LangChain Blog
Y
Y Combinator Blog
宝玉的分享
宝玉的分享
Google Online Security Blog
Google Online Security Blog
P
Proofpoint News Feed
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
T
The Blog of Author Tim Ferriss
Google DeepMind News
Google DeepMind News
The Register - Security
The Register - Security
B
Blog RSS Feed
N
Netflix TechBlog - Medium
N
News | PayPal Newsroom
TaoSecurity Blog
TaoSecurity Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
V
Vulnerabilities – Threatpost
B
Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
I
Intezer
H
Hackread – Cybersecurity News, Data Breaches, AI and More
博客园_首页
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
AI
AI
aimingoo的专栏
aimingoo的专栏
大猫的无限游戏
大猫的无限游戏
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Cyberwarzone
Cyberwarzone
P
Proofpoint News Feed
Google DeepMind News
Google DeepMind News
G
GRAHAM CLULEY
Vercel News
Vercel News
罗磊的独立博客
MyScale Blog
MyScale Blog
Last Week in AI
Last Week in AI
博客园 - 司徒正美
C
CERT Recently Published Vulnerability Notes
GbyAI
GbyAI
Scott Helme
Scott Helme
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
T
Troy Hunt's Blog
A
About on SuperTechFans
P
Privacy International News Feed

博客园 - javaca88

textaera maxlength - javaca88 - 博客园 聚焦索引与非聚焦索引及其查询效率 zhuan - javaca88 - 博客园 博文阅读密码验证 - 博客园 FormView1.ChangeMode 最经典的实现字符数控制的方案哦!(完善版)(转) JavaScript实际应用:父子页面交互 FormView1 动态传参数 如何取得treeview的节点的checkbox的value值 - javaca88 - 博客园 DetailsView1 动态添加自动列 - javaca88 - 博客园 要用到的代码2 - javaca88 - 博客园 技术网站收录 grid view控件中经常会遇到选择行的问题,怎么才能获得当前行呢 step by step 7 转:C#.Net的常见面试试题 zuo ye 缓冲池 Assembly.Load 获取硬盘序列号 split 正确用法 在SQLSERVER里写了一个Split函数
SQL高级语法汇总
javaca88 · 2010-06-07 · via 博客园 - javaca88

SQL高级语法汇总
http://hi.baidu.com/vstudycn/blog/item/d34791d8292982e039012fb4.html
CUBE ROLLUP 及COMPUTE关键词
CUBE 关键词是用来将所要进行查询的各分组字段内的数据求和的运算。
COMPUTE关键字则是用来将分组做小计,也就是说将字段内进行分组并且将每一组生成一或多个总和 平均值等

范例
select cust_id,SUM(pay1) AS pay11 from pay_list GROUP BY pay1 WITH CUBE
go
以上代码导致错误因为在SUM汇总函数所指定的字段名称pay1与CUBE关键词一并使用所导致发生的错误消息
修改
SELECT cust_id,SUM(pay1) as pay11 FROM pay_list GROUP BY cust_id WITH CUBE
GO

ROLLUP关键词
将GROUP BY后面所加的第一个字段名称来求和而其他的字段并不做
ROLLUP以及CUBE关键词二者之间不同的地方就是ROLLUP只会将GROUP BY后面的第一个字段名称求总和而CUBE则会将每一个字段都求总和的操作

范例
SELECT 厂商编号,产品名称,SUM(数量) AS 总数量 FROM proced GROUP BY 厂商编号,产品名称 WITH ROLLUP
GO
COMPUTE关键词
用来将分组小计也就是在字段内进行分组,并且将每一组生成一或多个总和 平均值等
范例
select 厂商编号,产品名称,数量 from proced compute sum(数量)
go

以厂商编号作为分类根据时
select 厂商编号,产品名称,数量 from proced order by 厂商编号 COMPUTE SUM(数量) BY 厂商编号
go

RETURN 语句
将目前正在执行的批处理T-SQL语句,退出程序或语句中断,并返回或不返回数值。
当RETURN语句与存储过程一起使用时,其RETURN并不会返回一个NULL值。但当某程序尝试返回NULL值时,则会生成警告消息,接着会返回一个为0的数值。

语法声明
return [integer_expression]
integer_expression指要返回的整数值

范例
--return的使用范例
create procedurecheck_maxdata
as
if(select state from authors where au_id='123-34-45')
return 1
else
return 2
WAITFOR语句
WAITFOR语句是用来指定触发语句组,存储过程或事物执行的时间,时间间隔或事件。执行WAITFOR语句之后,必须等到指定的时间或指定的事件发生后,才能使用到SQL Server 的连接。
如果 想知道目前谁在使用或等待时,可以使用系统存储过程sp_who来了解。

声明语法
WAITFOR{DELAY 'time'|TIME 'time'}
参数说明
DELAY用来设置要SQL Server必须要等待所到指定的时数已过时,才可以使用SQL Server的连接
time 用来指定要等待的时间
只能指定时间而不能设置日期。其等待时间的设置最多可指定到24小时。

TIME用来指示SQL Server等待到所指定的时间。

范例
--此范例会在下午6:00时会执行select_data 存储过程
begin
waitfor TIME '18:00'
EXEC select_data
end

begin
waitfor TIME '15:20'
print 'ninhao'
end

范例
--WAITFOR DELAY的使用范例
use pubs
go
--设置要sql server 等待一分钟再执行下列语句
waitfor delay '00:01:00'
select * from authors
go
CASE
根据条件列表之后来执行表达式,其CASE可分为两种格式:
1 一种格式是属于简单的CASE格式,这种CASE会比较表达式与一组简单表达式,以便决定结果。
2 另一种格式是属于搜索的CASE格式,这种格式会评估一组布尔表达式,以便决定其结果。

简单CASE声明
CASE input_expression
WHEN when_expression THEN result_expression
[..n]
[
ELSE else_result_expression
END

如果想使用搜索CASE格式时,可以根据下面的语法来进行声明
CASE
WHEN Boolean_expression THEN result_expression
[..n]
[
ELSE else_result_expression
END

RAISERROR 语句
RAISERROR语句会返回用户所自定义的错误消息,并且设置系统旗标,记录曾发生过的错误。
使用RAISERROR指定用户自定义的错误消息时,请使用大于50,000的错误消息代码和0至18的重要性层级。

使用系统存储过程sp_addmessage来创建自定义的错误消息

RAISERROR语句其语法声明

使用RAISERROR语句来创建并返回用户自定义的错误信息时,请使用sp_addmessage来添加用户自定义的错误消息,并使用sp_dropmessage来删除用户自定义的错误消息。
发生错误时,错误代码会放置在@@ERROR函数中,此函数存放着最近生成的错误代码。

范例
--使用RAISERROR的范例
--使用sp_addmessage来创建自定义错误消息,其中76548是指错误代码,9是代表严重程度,而"错误消息测试"则是代表消息内容
EXEC sp_addmessage 76548,9,'错误消息测试'
GO
RAISERROR(76548,9,1)