快速业务通道

学习SQL2005当中的例子

作者 佚名技术 来源 数据库编程 浏览 发布时间 2012-03-22
BY listprice
GO
 
/*例3-56 在嵌套的 IF...ELSE 和 WHILE 中使用 BREAK 和 CONTINUE。如果平均价格少于 $30,WHILE
循环就将价格加倍,然后选择最高价。如果最高价少于或等于 $50,WHILE 循环重新启动并再次将价格加
倍。该循环不断地将价格加倍直到最高价格超过 $50,然后退出 WHILE 循环并打印一条消息。*/
/*程序清单如下:*/
USE adventureworks
WHILE (SELECT AVG(listprice) FROM production.product) < $30
BEGIN
   UPDATE production.product
      SET listprice = listprice * 2
   SELECT MAX(listprice) FROM production.product
   IF (SELECT MAX(listprice) FROM production.product) > $50
      BREAK
   ELSE
      CONTINUE
END
PRINT ''Too much for the market to bear''
 
/*例3-57 利用GOTO语句求出从1加到5的总和。*/
/*程序清单如下:*/
declare    @sum   int,   @count   int
select   @sum=0,   @count=1
label_1:
select   @sum=@sum+@count
select   @count=@count+1
if   @count<=5
goto   label_1
select   @count,   @sum
 
/*例3-58 使用WAITFOR TIME语句,以便在晚上10:20执行存储过程 update_all_stats。*/
/*程序清单如下:*/
BEGIN
   WAITFOR TIME ''22:20''
   EXECUTE update_all_stats
END
 
/*例3-59 显示如果在执行 findjobs 时没有给出用户名作为参数,RETURN 则将一条消息发送到用户的
屏幕上然后从过程中退出。如果给出用户名,将从适当的系统表中检索由该用户在当前数据库内创建的所
有对象名。*/
/*程序清单如下:*/
CREATE PROCEDURE findjobs @nm sysname = NULL
AS
IF @nm IS NULL
   BEGIN
     PRINT ''You must give a username''
      RETURN
   END
ELSE
   BEGIN
      SELECT o.name, o.id, o.uid
      FROM sysobjects o INNER JOIN master..syslogins l
         ON o.uid = l.sid
      WHERE l.name = @nm
   END
 
/*例4-2 使用三个 100 MB 的数据文件和两个 100 MB 的事务日志文件创建名为 Archive 的数据库。主文件是列表中的第一个文件,并使用 PRIMARY 关键字显式指定。事务日志文件在 LOG ON 关键字后指定。注意 FILENAME 选项中所用的文件扩展名:主要数据文件使用 .mdf,次要数据文件使用 .ndf,事务日志文件使用 .ldf。*/
/*程序清单如下:*/
CREATE DATABASE Archive
ON
PRIMARY
(NAME=Arch1,
FILENAME=''c:\program files\microsoft sql server\mssql.1\mssql\data\archdat1.mdf'',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20),
( NAME = Arch2,
FILENAME = ''c:\program files\microsoft sql server\mssql.1\mssql\data\archdat2.ndf'',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20),
( NAME = Arch3,
FILENAME = ''c:\program files\microsoft sql server\mssql.1\mssql\data\archdat3.ndf'',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20)
LOG ON
( NAME = Archlog1,
FILENAME = ''c:\program files\microsoft sql server\mssql.1\mssql\data\archlog1.ldf'',
SIZE = 100MB,
MAXSIZE = 200,
FILEGROWTH = 20),
(NAME=Archlog2,
FILENAME = ''c:\program files\microsoft sql serv

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号