USE pubs
IF EXISTS (SELECT name FROM sysobjects
WHERE name = 'au_info_all' AND type = 'P')
DROP PROCEDURE au_info_all
GO
CREATE PROCEDURE au_info_all
AS
SELECT au_lname, au_fname, title, pub_name
FROM authors a INNER JOIN titleauthor ta
ON a.au_id = ta.au_id INNER JOIN titles t
ON t.title_id = ta.title_id INNER JOIN publishers p
ON t.pub_id = p.pub_id
GO
-----------------------------------------------------------
EXECUTE au_info_all
-- Or
EXEC au_info_all
-----------------------------------------------------------
USE pubs
IF EXISTS (SELECT name FROM sysobjects
WHERE name = 'au_info' AND type = 'P')
DROP PROCEDURE au_info
GO
USE pubs
GO
CREATE PROCEDURE au_info
@lastname varchar(40),
@firstname varchar(20)
AS
SELECT au_lname, au_fname, title, pub_name
FROM authors a INNER JOIN titleauthor ta
ON a.au_id = ta.au_id INNER JOIN titles t
ON t.title_id = ta.title_id INNER JOIN publishers p
ON t.pub_id = p.pub_id
WHERE au_fname = @firstname
AND au_lname = @lastname
GO
-----------------------------------------------------------
EXECUTE au_info 'Dull', 'Ann'
-- Or
EXECUTE au_info @lastname = 'Dull', @firstname = 'Ann'
-- Or
EXECUTE au_info @firstname = 'Ann', @lastname = 'Dull'
-- Or
EXEC au_info 'Dull', 'Ann'
-- Or
EXEC au_info @lastname = 'Dull', @firstname = 'Ann'
-- Or
EXEC au_info @firstname = 'Ann', @lastname = 'Dull'
-----------------------------------------------------------
au_info 'Dull', 'Ann'
-- Or
au_info @lastname = 'Dull', @firstname = 'Ann'
-- Or
au_info @firstname = 'Ann', @lastname = 'Dull'
-----------------------------------------------------------
USE pubs
IF EXISTS (SELECT name FROM sysobjects
WHERE name = 'au_info2' AND type = 'P')
DROP PROCEDURE au_info2
GO
USE pubs
GO
CREATE PROCEDURE au_info2
@lastname varchar(30) = 'D%',
@firstname varchar(18) = '%'
AS
SELECT au_lname, au_fname, title, pub_name
FROM authors a INNER JOIN titleauthor ta
ON a.au_id = ta.au_id INNER JOIN titles t
ON t.title_id = ta.title_id INNER JOIN publishers p
ON t.pub_id = p.pub_id
WHERE au_fname LIKE @firstname
AND au_lname LIKE @lastname
GO
-----------------------------------------------------------
EXECUTE au_info2
-- Or
EXECUTE au_info2 'Wh%'
-- Or
EXECUTE au_info2 @firstname = 'A%'
-- Or
EXECUTE au_info2 '[CK]ars[OE]n'
-- Or
EXECUTE au_info2 'Hunter', 'Sheryl'
-- Or
EXECUTE au_info2 'H%', 'S%'
-----------------------------------------------------------
USE pubs
GO
IF EXISTS(SELECT name FROM sysobjects
WHERE name = 'titles_sum' AND type = 'P')
DROP PROCEDURE titles_sum
GO
USE pubs
GO
CREATE PROCEDURE titles_sum @@TITLE varchar(40) = '%', @@SUM money OUTPUT
AS
SELECT 'Title Name' = title
FROM titles
WHERE title LIKE @@TITLE
SELECT @@SUM = SUM(price)
FROM titles
WHERE title LIKE @@TITLE
GO
-----------------------------------------------------------
DECLARE @@TOTALCOST money
EXECUTE titles_sum 'The%', @@TOTALCOST OUTPUT
IF @@TOTALCOST < 200
BEGIN
PRINT ' '
PRINT 'All of these titles can be purchased for less than $200.'
END
ELSE
SELECT 'The total cost of these titles is $'
+ RTRIM(CAST(@@TOTALCOST AS varchar(20)))
-----------------------------------------------------------
USE pubs
IF EXISTS (SELECT name FROM sysobjects
WHERE name = 'titles_cursor' and type = 'P')
DROP PROCEDURE titles_cursor
GO
CREATE PROCEDURE titles_cursor @titles_cursor CURSOR VARYING OUTPUT
AS
SET @titles_cursor = CURSOR
FORWARD_ONLY STATIC FOR
SELECT *
FROM titles
OPEN @titles_cursor
GO
-----------------------------------------------------------
USE pubs
GO
DECLARE @MyCursor CURSOR
EXEC titles_cursor @titles_cursor = @MyCursor OUTPUT
WHILE (@@FETCH_STATUS = 0)
BEGIN
FETCH NEXT FROM @MyCursor
END
CLOSE @MyCursor
DEALLOCATE @MyCursor
GO
-----------------------------------------------------------
USE pubs
IF EXISTS (SELECT name FROM sysobjects
WHERE name = 'titles_by_author' AND type = 'P')
DROP PROCEDURE titles_by_author
GO
CREATE PROCEDURE titles_by_author @@LNAME_PATTERN varchar(30) = '%'
WITH RECOMPILE
AS
SELECT RTRIM(au_fname) + ' ' + RTRIM(au_lname) AS 'Authors full name',
title AS Title
FROM authors a INNER JOIN titleauthor ta
ON a.au_id = ta.au_id INNER JOIN titles t
ON ta.title_id = t.title_id
WHERE au_lname LIKE @@LNAME_PATTERN
GO
-----------------------------------------------------------
IF EXISTS (SELECT name FROM sysobjects
WHERE name = 'encrypt_this' AND type = 'P')
DROP PROCEDURE encrypt_this
GO
USE pubs
GO
CREATE PROCEDURE encrypt_this
WITH ENCRYPTION
AS
SELECT *
FROM authors
GO
EXEC sp_helptext encrypt_this
-----------------------------------------------------------
IF EXISTS (SELECT name FROM sysobjects
WHERE name = 'sp_showindexes' AND type = 'P')
DROP PROCEDURE sp_showindexes
GO
USE master
GO
CREATE PROCEDURE sp_showindexes
@@TABLE varchar(30) = 'sys%'
AS
SELECT o.name AS TABLE_NAME,
i.name AS INDEX_NAME,
indid AS INDEX_ID
FROM sysindexes i INNER JOIN sysobjects o
ON o.id = i.id
WHERE o.name LIKE @@TABLE
GO
USE pubs
EXEC sp_showindexes 'emp%'
GO
-----------------------------------------------------------
IF EXISTS (SELECT name FROM sysobjects
WHERE name = 'proc1' AND type = 'P')
DROP PROCEDURE proc1
GO
-- Creating a procedure on a nonexistent table.
USE pubs
GO
CREATE PROCEDURE proc1
AS
SELECT *
FROM does_not_exist
GO
-- Here is the statement to actually see the text of the procedure.
SELECT o.id, c.text
FROM sysobjects o INNER JOIN syscomments c
ON o.id = c.id
WHERE o.type = 'P' AND o.name = 'proc1'
GO
USE master
GO
IF EXISTS (SELECT name FROM sysobjects
WHERE name = 'proc2' AND type = 'P')
DROP PROCEDURE proc2
GO
-- Creating a procedure that attempts to retrieve information from a
-- nonexistent column in an existing table.
USE pubs
GO
CREATE PROCEDURE proc2
AS
DECLARE @middle_init char(1)
SET @middle_init = NULL
SELECT au_id, middle_initial = @middle_init
FROM authors
GO
-- Here is the statement to actually see the text of the procedure.
SELECT o.id, c.text
FROM sysobjects o INNER JOIN syscomments c
ON o.id = c.id
WHERE o.type = 'P' and o.name = 'proc2'
没有合适的资源?快使用搜索试试~ 我知道了~
SQL专家门诊部分源代码.rar
共64个文件
txt:64个
2星 需积分: 9 14 下载量 140 浏览量
2008-07-15
12:27:49
上传
评论
收藏 30KB RAR 举报
温馨提示
SQL专家门诊源代码关于SQL Server安全、优化服务器性能、数据库设计和创建、表、索引和视图、存储过程、触发器、事务、游标
资源推荐
资源详情
资源评论
收起资源包目录
SQL专家门诊源代码.rar (64个子文件)
第6章 表
72 删除表的记录以后,如何使新记录的编号仍然从1开始.txt 120B
70 如何实现交叉表.txt 2KB
67 如何设置DEFAULT值和允许空值.txt 78B
68 如何创建和使用临时表.txt 148B
第7章 索引和视图
73 如何创建聚集索引和非聚集索引.txt 1KB
88 如何通过视图修改数据.txt 913B
79 如何创建有关值在列中分布情况的统计信息.txt 1KB
84 使用视图的作用是什么.txt 934B
83 如何合理的设定填充因子.txt 221B
75 最大的索引键值能否超过900字节.txt 188B
82 如何获取远程表的索引信息.txt 285B
87 如何创建分区视图.txt 1KB
77 如何创建唯一索引.txt 212B
81 如何删除索引和重建索引.txt 370B
89 如何获取关于视图的信息.txt 401B
78 如何在计算列上创建索引.txt 734B
76 如何创建升序和降序索引.txt 414B
86 如何修改和重命名视图.txt 1KB
第10章 事务
123 如何备份事务日志和使用事务日志恢复数据库.txt 803B
第3章 SQL Server安全
33 如何设置Proxy Server实现互联网上数据库的安全复制.txt 75B
第11章 游标
127 如何使用cursor数据类型的变量.txt 733B
133 如何调用@@CURSOR_ROWS进行异步填充.txt 470B
131 如何将游标持续到引用它们的变量释放.txt 119B
134 如何用@@FETCH_STATUS控制在一个WHILE循环中的游标活动.txt 556B
129 如何打开游标并提取所有行.txt 278B
第4章 优化服务器性能
52 如何优化tempdb数据库性能.txt 141B
38 数据库性能优化涉及哪些范围.txt 1KB
54 如何用Transact-SQL语句监视服务器性能和活动的信息.txt 1KB
43 如何收缩事务日志.txt 428B
46 如何避免阻塞.txt 377B
40 如何使用联合数据库服务器分摊处理负荷.txt 189B
48 如何使用内存配置选项优化服务器性能.txt 111B
49 如何使用IO配置选项优化服务器性能.txt 91B
第12章 分布式查询
141 如何启动分布式事务.txt 203B
144 如何访问ACCESS、EXCEL和格式化文本文件.txt 1KB
140 如何使用OPENDATASOURCE、OPENROWSET和OPENQUERY.txt 2KB
138 如何将查询结果直接作为表使用.txt 188B
137 如何用特殊名称标识数据源.txt 427B
145 如何访问Oracle和DB2数据库.txt 1KB
135 如何在SQL Server中访问异类数据源.txt 259B
146 如何对包数据发出分布式查询.txt 316B
第8章 存储过程
100 如何使用sp_executesql执行字符串.txt 2KB
105 如何通过OPENXML提供行集视图.txt 3KB
98 如何进行存储过程的嵌套调用.txt 189B
97 如何修改和重命名存储过程.txt 1KB
102 如何创建OLE自动化对象.txt 2KB
103 如何使用SQL邮件存储过程.txt 2KB
93 如何为存储过程指定参数.txt 1KB
95 如何执行存储过程.txt 3KB
99 如何使用HTTP执行存储过程.txt 2KB
96 如何自动执行存储过程.txt 194B
104 如何执行发布存储过程.txt 845B
92 如何创建存储过程.txt 6KB
94 如何从存储过程中返回数据.txt 3KB
第9章 触发器
111 如何用触发器在表中存储某列的运行总计.txt 455B
115 如何查看、修改、删除触发器.txt 353B
108 如何用空值和默认值测试触发器激活.txt 1KB
107 如何指定触发器何时激发.txt 277B
114 如何使用嵌套和递归触发器.txt 105B
110 如何在视图上定义 INSTEAD OF INSERT 触发器向表中插入数据.txt 2KB
112 如何在触发器中用ROLLBACK TRANSACTION进行回滚.txt 393B
113 如何在INSTEAD OF触发器中使用inserted和deleted表.txt 128B
第5章 数据库设计和创建
57 设计数据库时,如何保证数据完整性.txt 129B
63 如何处理SQL脚本生成时的问题.txt 197B
共 64 条
- 1
资源评论
- asunmeng2013-12-09没有体现出来,代码也执行不了
java_flying_2007
- 粉丝: 7
- 资源: 132
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Qt的tcp网络编程(客户端和服务器)
- 当谈到 Linux 常用命令时,有很多命令可以提及 以下是一些常见的 Linux 命令及其功能:
- Sora AI Video Preview Case Sora AI 视频模版项目,React全栈快速部署.zip
- Foobar2000 中文完全版
- 基于JAVA web 的酒店管理系统的设计与实现,MySQL、MVC
- cdf6be7eb5ee2c1204e6de3b08a441d2.jpg
- 基于web的停车场管理系统的设计与实现、MVC、前台jQuery、后台JDBC,JSP技术,Tomcat、JavaBean
- 基于STM32和QT平台的农业大棚远程监控系统设计.pdf
- 毕业设计-基于SpringBoot、JPA、Thmleaf实现的旅游网站管理系统
- index.wxml
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功