SQLServer数据库开发和JavaScript技术应用

本文介绍了SQLServer数据库开发中的T-SQL编程,包括变量、控制语句和批处理,强调了if-else、while和case-end的用法。接着详细探讨了JavaScript技术,涵盖条件语句、循环、函数以及数组、正则表达式和文档对象模型的应用。通过实例解析了JavaScript中的数组创建、遍历和常用方法,以及正则表达式的常见模式。
摘要由CSDN通过智能技术生成

1、T-SQL编程

1变量

局部变量

局部变量是用户可自定义的变量,它的作用范围仅在程序内部。在程序中通常用来储存从表中查询到的数据,或当作程序执行过程中暂存变量使用。局部变量必须以“@”开头,而且必须先用DECLARE命令说明后才可使用。其说明形式如下:
DECLARE @
变量名变量类型 [@变量名变量类型…]

例如:DECLARE @id char(10) —–声明一个长度为10的字符变量

全局变量

全局变量不是由用户的程序定义的,它们是在服务器级定应义的。只能使用预先说明及定义的变局变量。引用全局变量时,必须以“@@”开头。局部变量的名称不能与全局变量的名称相同、否则会在应用中出错。

常用全局变量 

@@ERROR

最后一个T-SQL错误的错误号

@@IDENTITY

最后一次插入的标识值

@@LANGUAGE

当前使用的语言的名称

@@MAX_CONNECTIONS

可以创建的同时连接的最大数目

@@ROWCOUNT      

受上一个SQL语句影响的行数

@@SERVERNAME

本地服务器的名称

@@TRANSCOUNT   

当前连接打开的事务数

@@VERSION     

SQL Server的版本信息

例如: select @@VERSION as w  --返回SQL服务器安装的日期、版本和处理器类型。2输出语句

使用print或select输出

Print/Select 变量或表达式

3控制语句

if-else语句

语法格式为:

if(条件)
    begin
        语句1
        语句2
    end
else
    begin
        语句1
        语句2
    end

注意:begin…end相当于c语言中的大括号,有多条语句才使用begin…end,相当于begin…end之间的语句就是一个语句块

看个实例更容易理解,例:

declare @myavg float
select @myavg=avg(writexam) from stumake
print '本班平均分' + convert(varchar(5),@myavg)
if(@myavg>70)
    begin
        print '前三的成绩为'
        select top 3 * from stumake order by writexam dese
    end
else
    begin
        print '后三名的成绩为'
        select top 3 * from stumake order by writexam asc
    end

在使用T-SQL编程时,可以切换视图来查看结果,工具>选项>查询结果>常规>显示结果的默认方式>以文本格式显示结果,查看效果更好

while循环语句

语法格式为:

while(条件)
    begin
        语句1
        语句2
        break
    end

注意:break是表示结束循环,与c语言中的辅助控制语句break,continue类似

看个实例:

declare @n int
where(1=1) --条件永远成立
  begin
    select @n=count(*) from stuMarks 
            where writtenExam<60    --统计不及格人数
    if (@n>0)
       update stuMarks     --每人加2分
       set writtenExam=writtenExam+2 
   else
       break    --退出循环
  end
print '加分后的成绩如下:'
select * from stuMarks

case-end多分支语句

语法格式为:

case
    when 条件1 then 结果1
    when 条件2 then 结果2
    else 其他结果
end

 

4批处理

批处理是作为一个逻辑单元的T-SQL语句。如果一条语句不能通过语法分析,那么不会运行任何语句。如果一条语句在运行时失败,那么产生错误的语句之前的语句都已经运行了。为了将一个脚本分为多个批处理,可使用GO语句。

GO语句的特点:

GO语句必须自成一行,只有注释可以再同一行上。

  它使得自脚本的开始部分或者最近一个GO语句以后的所有语句编译成一个执行计划并发送到服务器,与任何其他批处理无关。

  GO语句不是T-SQL命令,而是由各种SQL Server命令实用程序(如:ManagementStudio中的"查询"窗口)识别的命令。

2、SQL高级查询

1嵌套子查询

   子查询也称为内部查询或内部选择,而包含子查询的语句也称为外部查询或外部选择

  子查询是嵌套在另一个查询中的select—from—where表达式。子查询嵌套在where子句中,通常用于对集合的成员资格、集合的比较以及集合的基数进行检查,还用于:空关系测试,重复元祖存在性测试,from子句中的子查询,with子句。

    集合成员资格:连接词in测试元组是否是集合中的成员,集合是由select子句产生的一组值构成的,对应的还有not in。

短语“至少比某一个要大”在SQL中用“>some”表示。

some子句的定义:C<comp> some r <=>存在t属于r(C <comp> t),其中<comp>可以为:< ,>,=,……(=some)=in;但是,(不等于some)不等于notin。

   在SQL中,结构>all对应于词组“比所有的都大”。

  all子句的定义:C <comp> all r <=> 任意t属于r(C<comp>t);(不等于all)等于not in 但是,(=all)不等于in。

SQL还有一个特性可测试一个子查询的结果中是否存在元组。exists结构在作为参数的子查询为空时返回true值。

      E

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值