SQL Server程序设计基础

来源:互联网 发布:win10桌面美化软件 编辑:程序博客网 时间:2024/05/01 16:22

SQLServer数据类型

系统数据类型SQL Server支持的内置数据类型,系统数据类型有25种。

系统数据类型举例:

字符型:Charn)——n字节,少于n则空格填满,若超长则截掉

        Varchar(n)——n字节,存储长度为实际长度

整型:Int4个字节)、Smallint2个字节)

浮点型:Real4个字节)、Float8个字节)

货币型:Money8个字节)、SmallMoney4个字节)

日期与时间型:Datetime8个字节)、Smalldatetime4个字节)

二进制型:binary(存储长度取决于定义)

文本型:TextNtext(二者存储长度为实际长度)

图形:image(存储长度为实际长度)

用户自定义数据类型用户根据系统数据类型自己定义的数据类型。

创建:

       利用系统存储过程:sp_addtype其语法为:

       sp_addtype type,[system_data_type] [, ’null type’ ]

    其中:type为数据类型的名称。

                  Systemdate type:是SQL Server提供的数据类型,用户定义的数据类型基于该类型。

          Nulltype:指定如何处理null值。

   例子:exec sp_addtype tele,smallint,’not null’

删除:  

使用sp_droptype系统存储过程来撤销用户定义的数据类型。

 例:exec sp_droptype telephone

批处理包含一条或多条的TSQL语句的语句组,这组语句从应用程序一次性发送到SQL Server服务器执行。

             1.      书写批处理时,go语句作为批处理命令的结束标志。当编译器读取到go语句时,会把go语句前面所有的

          语句作为批处理,并将这些语句打包送给服务器。

                2 .   Go语句本身不是TSQL语句的组成部分,只是用于表示批处理结束的前段指令

注释:程序代码中不执行的文本字符串。  

     有两种类型:1.ANSI标准的“——“,用于单行注释。

                 2./* */

变量

系统提供的全局变量:   

         1.      作用范围不仅仅局限于某一程序,而是任一程序可以随时调用。

    2.用户只能使用预先定义的全局变量。

    3.引用全局变量时,必须以标识符“@@“开头

    4.@@error全局变量返回最后执行的TSQL语句的错误代码,数据类型为整型。在SQL Server执行一个T-SQL

      句之后,若成功,则返回值为0,否则返回相应的错误代码。

局部变量:

1.      它的作用范围只局限于程序内部

   2.      局部变量在引用时在其名称前加“@ 

3.      必须用Declare语句定义后才可以使用

其声明形式如下:     

DECLARE @变量名变量类型 [ @变量名变量类型 ....]

       4.局部变量赋值需用SELECT@局部变量=变量值SET@局部变量=变量值

            例:Declare @idchar 10

         Select @id=’10010001’

           注意:局部变量的作用范围从声明该局部变量的地方开始到声明变量的批处理或存储过程的结尾,在局部

            变量的作用范围以外引用该局部变量将产生语法错误。

函数:

函数分类:

1.      行集函数:行集函数可以在Transact-SQL语句中当作表引用。

2.      聚合函数:用于对一组值执行计算并返回一个单一的值。

3.      标量函数:用于对传递给它的一个或多个参数值进行处理和计算,并返回一个单一的值。

1.      系统函数:用于返回SQL Server系统、用户、数据库和数据库对象的信息。

该函数可以让用户在得到信息后,使用条件语句,根据返回的信息对其进行不同的操作。

2.      用户自定义函数:

       1.      标量型函数:返回确定类型标量值。函数体语句在Begin——End句内

       2.      内嵌表值函数:以表的形式的返回一个返回值,返回的是一个表。

      3.多语句表值函数:标量型和内嵌表值型函数的综合,返回的是一个表,但是有一个Begin——End语句括起来的函数体。

流程控制语句:用来控制程序执行和流程分支的命令。

               Begin——End语句:将多个TSQL语句组合成一个语句块,并将它视为一个单元处理。

            语法为:BEGIN
                                                      {sql_statement
                                                                  |statement_block
                                                      }
                                                   END

               While语句:条件语句。Continue语句:跳出本次循环,执行下次循环。

                                                Break语句:跳出while循环。

             Return语句:Return后面的语句不被执行。

             Waitfor语句:暂时停止。Waitfor delay时间间隔——Waitfor语句需等待的时间。

                                                      Waitfor time——Waitfor语句执行后的延时。

             Goto语句:Goto直接跳到标识符处。标识符以“:”结尾。

             Print语句:只输出字符串或字符类型变量。

游标

   声明:Declare,若使用insensitive,则生成临时表。

   打开:Open

   读取:Fetch

   关闭:CloseDeallocate(释放游标)

   语法:DECLARE游标名称 [INSENSITIVE]

                     CURSOR

         [local|global]

          [forward_only|scroll]

                         [read_only]

                    FOR选择语句

                    [FOR [UPDATE [OF字段名称1,字段名称2,…]]

  检查游标状态:@@Fetch_status

      三个返回值:0:成功。—1:读取失败。—2:返回行不是结果集的内容。(非insensitive

 

 

 

原创粉丝点击