`

sql常用的 高级编程

    博客分类:
  • SQL
阅读更多
T-SQL 高级编程
/*-变量应用-*/ --局部变量以标记@为前缀 --全局变量以标记@@为前缀  --局部变量声明 declare @变量名 数据类型  --局部变量赋值:使用set语句或select语句 --set 赋值语句一般赋给变量指定的数据常量 set @变量名 = 值  --select 赋值语句一般用于从表中查询数据,然后再赋给变量 --当用select赋值时,不进行筛选会将最后一条记录赋给变量 select @变量名 = 列名值 from 表名 where 条件

全局变量表变量含义@@error最后一个T-SQL错误的错误号@@identity最后一次插入的标识值@@language当前使用的语言的名称@@max_connections可以创建的同时连接的最大数目@@rowcount受上一个SQL语句影响的行数@@servername本地服务器的名称@@servicename该计算机上的SQL服务器的名称@@timeticks当前计算上每刻度的微秒数@@transcount当前连接打开的事物数@@versionSQL Sever的版本信息

/*-输出语句-*/ print convert(varchar(大小),变量或字符串) --只适合打印字符和字符串 select  变量 as 自定义列名  --适合所有类型  /*-逻辑控制语句-*/ --if-else条件语句 if(条件)  begin   --语句块  end else  begin   --语句块  end   --while循环语句 while(条件)  begin   --语句块  end  --case多分支语句 case   when 条件1 then 结果1  when 条件2 then 结果2  else 结果3 end 列名 = case   when 列值 then 表达式  else 表达式 end/*-高级查询-*/ --简单子查询 select 列名 from 表名 where 条件列名 = (select 条件列名 from 表名 where 条件)  --in和not in子查询 select 列名 from 表名 where 条件列名 in (select 条件列名 from 表名 where 条件) select 列名 from 表名 where 条件列名 not in (select 条件列名 from 表名 where 条件)  --exists和not exists子查询 if exists(select * from 表名 where 条件)  begin   --语句块  end if not exists(select * from 表名 where 条件)  begin   --语句块  end/*-事务-*/ --管理事务开始事务:begin transaction 提交事务:commit transaction  回滚事务:rollback transaction --分类  显示事务:用begin transaction 明确指定事务的开始  隐式事务:通过设置set implicit_transaction on 语句,将隐式事务模式设置为开.  当隐式事务模式操作时,SQL Server将在提交或回滚事务后自动启动新事务.无法描述事务  的开始,只需要提交或回滚每个事务.  自动提交事务:这是SQL Server 的默认模式,它将每条单独的T-SQL 语句视为一个事务.  如果成功执行,则自动提交.如果错误,则自动回滚. --开始事务 begin transaction --定义变量,用于累计错误 declare @errorSum int --初始化变量 set @errorSum=0  --语句 --累计错误 set @errorSum = @errorSum + @@error if @errorSum <>0  begin   print --错误提示   --回滚事务   rollback transaction  end else  begin   print --成功提示
--提交事务 commit transaction end

/*-索引-*/
--索引类型唯一索引:unique 聚集索引:clustered 非聚集索引:nonclusered
use 数据库名
go
--查找索引
if exists (select * from sysindexes where name = '索引名')
--删除索引
drop index 表名.索引名
--创建索引
create nonclustered index 索引名
on 表名(索引列名)
where fillfactor = --大小为0-100之间的值
go

--查询索引
select * from 表名 (index = 索引名) where 由索引列名组成的条件


/*-创建视图-*/
use 数据库名
go
--查询视图
if exists (select * from sysobjects where name = '视图名')
--删除视图
drop view 视图名
--创建视图
create view 视图名
as
--查询语句
go

--使用视图
select * from 视图名


常用的系统存储过程系统存储过程说明sp_databases列出服务器上所有的数据库sp_helpdb报告有关指定数据库或所有数据库的信息sp_renamedb 旧名,新名更改数据库的名称sp_tables返回当前环境下可查询的对象的列表sp_columns返回某个表列的信息sp_help查看某个表的所有信息sp_helpconstraint 表名查看某个表的约束sp_helpindex 表名查看某个表的索引sp_stored_procedures列出当前环境中所有存储过程sp_password添加或修改登录账户的密码sp_helptext显示默认值、未加密的存储过程、用户自定义的存储过程、出发器或视图的实际文本xp_cmdshell 'Dos命令'完成DOS命名下的一些操作

--自定义存储过程
--不带参的存储过程
use 数据库名
go
--查询存储过程
if exists (select * from sysobjects where name = '存储过程')
--删除存储过程
drop procedure 存储过程名
go
--创建存储过程
create procedure 存储过程名
as
declare @变量名 数据类型
--SQL语句(一般用于查询语句)
go

--调用存储过程
exec 存储过程名


--创建带输入参数的存储过程
use 数据库名
go
--查询存储过程
if exists (select * from sysobjects where name = '存储过程')
--删除存储过程
drop procedure 存储过程名
go
--创建存储过程
create procedure 存储过程名
@变量名1 数据类型 --输入参数(当多个参数时用,隔开)
as
declare @变量名2 数据类型
--SQL语句(一般用于插入、修改、删除语句)
go

--调用存储过程
exec 存储过程名 给变量名1赋值



--创建带输出参数的存储过程
use 数据库名
go
--查询存储过程
if exists (select * from sysobjects where name = '存储过程')
--删除存储过程
drop procedure 存储过程名
go
--创建存储过程
create procedure 存储过程名
@变量名1 数据类型 output,--output关键字,否则视为输入参数
@变量名2 数据类型        --输入参数(当多个参数时用,隔开)
as
declare @变量名3 数据类型
--SQL语句(一般用于查询语句)
go

--调用存储过程
declare @变量名4 数据类型  --定义变量,用于存放存储过程变量名1的返回的结果
exec 存储过程名 @变量名4 output,@变量名2 数据类型  


/*-处理错误信息-*/
use 数据库名
go
--查询存储过程
if exists (select * from sysobjects where name = '存储过程')
--删除存储过程
drop procedure 存储过程名
go
--创建存储过程
create procedure 存储过程名
@变量名1 数据类型,
@变量名2 output
as
declare @变量名3 数据类型
--错误处理
msg_id:在sysmessages系统表中指定的用户定义错误信息
msg_str:用户定义的特定信息,最长为255个字符
serverity:与特定信息相关联,表示用户定义的严重级别.用户可以使用0~18级,19~25级
  是sysadmin固定角色的成员预留的,并且需要指定with log选项,20~25级错
  误被认为是致命的错误
state:表示错误的状态,是1~127的值

raiserror('msg_id | msg_str',severity,state);
--SQL语句(一般用于查询语句)
go

--调用存储过程
declare @变量名4 数据类型  --定义变量,用于存放存储过程d的返回的结果
exec 存储过程名 @变量名4 output,@变量名2 数据类型  
分享到:
评论

相关推荐

    sql server2005高级编程

    sql server2005高级编程,语言基础,流程控制语句,常用函数,

    SQL高级编程详解.pdf

    文档提到了一些常用的SQL函数和操作符,比如`@@error`(返回上一个语句的错误代码)、`@@identity`(返回最近插入行的标识列值)、`@@rowcount`(返回上一个语句影响的行数)、`@@version`(返回SQL Server版本信息...

    SQL高级编程

    SQL高级编程涉及到的不仅仅是基础的查询语法,还包括了数据库设计、性能优化、事务处理、存储过程、触发器、视图以及复杂的联接操作等多个方面。下面将详细介绍这些知识点: 1. **数据库设计**:良好的数据库设计是...

    高级编程之数据库常用可编程性开发

    在数据库开发中,存储过程是一种非常重要的可编程性工具,尤其在高级编程中,它们能够极大地提升应用的性能和安全性。本文主要围绕“存储过程开发”这一主题,探讨如何在ASP.Net项目中使用存储过程,并通过具体的...

    sql数据库下编程

    一个常用的库是Microsoft的ODBC(Open Database Connectivity),它提供了一个标准接口来访问各种数据库,包括SQL Server。另一个选择是ADO.NET(ActiveX Data Objects .NET),虽然它是为.NET框架设计的,但通过COM...

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

    该资料是《Oracle SQL高级编程》的源代码 对应的书籍资料见: Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐) 基本信息 原书名: Pro Oracle SQL 原出版社: Apress 作者: (美)Karen Morton Kerry ...

    SQL_PL编程基础(I)

    2. 掌握PL/SQL简单存储过程的编写:学习如何定义和执行存储过程,这是数据库管理中常用的功能,用于封装和重用代码。 【实验内容与步骤】 1. 创建和填充测试表`TESTTABLE`: - 使用`CREATE TABLE`语句定义表结构...

    sql高级进阶.zip

    SQL,全称为Structured Query Language,是用于管理和处理关系型数据库的标准编程语言。它的功能包括数据查询、更新、插入和删除,以及创建和修改数据库结构等。在日常的数据操作中,随着数据量的增加,查询效率显得...

    T-SQL编程入门(SQL Server)

    ### T-SQL编程入门(SQL Server) #### 一、T-SQL的组成 T-SQL (Transact-SQL) 是 Microsoft SQL Server 使用的一种扩展版本的 SQL 语言,它提供了额外的功能来增强 SQL 的功能,使开发者能够更高效地管理和操作...

    SQL教程(SQL编程相关的详细讲解)

    4. 查询数据:SELECT语句是SQL中最常用的部分,用于从一个或多个表中检索数据。你可以通过指定列名、使用WHERE子句过滤条件、GROUP BY进行分组、HAVING进行条件过滤、ORDER BY进行排序和LIMIT进行结果限制来定制查询...

    sql常用语句-中文手册直接运行

    本资源“sql常用语句-中文手册直接运行”提供了一个详细的SQL学习指南,特别关注Oracle数据库系统中的SQL使用。通过这份中文手册,读者可以轻松掌握SQL的基本语法和实例,提升在Oracle数据库中的SQL编写能力。 1. ...

    jsp高级编程(适合高级用户使用)

    **JSP高级编程**是针对已经具备基础JSP知识的开发者设计的一门深入课程,旨在提升用户在实际项目中的应用能力。在这个主题中,我们将探讨一系列JSP的高级特性和实践技巧,帮助开发者更好地理解和利用这些特性来优化...

    ASP3.0高级编程技术

    ASP3.0高级编程技术是Web开发领域中的一个重要里程碑,它是Active Server Pages的第三个主要版本,主要用于构建动态、交互式的网站。在这个版本中,开发者能够利用更强大的功能和改进的性能来创建复杂的Web应用程序...

    sql基础到高级sql基础到高级

    2. **SELECT语句**:这是SQL中最常用的命令,用于从表中提取所需的数据。你可以根据不同的条件(如特定字段值)来选择要显示的记录。 3. **创建新表**:通过SQL,你可以定义表格结构,包括设置字段(列)和它们的...

    SQL常用命令使用方法

    以下是一些SQL常用命令的详细说明: 1. **数据记录筛选**: - `SELECT * FROM 数据表 WHERE 字段名=字段值 ORDER BY 字段名 [DESC]`:用于选择满足特定条件的记录,并按字段值排序。默认为升序,可选`DESC`表示...

    Oracle PL/SQL常用47个工具包

    以下是对"Oracle PL/SQL常用47个工具包"的详细解释: 1. **DBMS_OUTPUT**: 这个包用于在服务器端生成调试信息,通过设置缓冲区大小和启用输出,开发者可以在执行过程中打印变量和调试消息。 2. **DBMS_ALERT**: ...

    Windows应用高级编程——C#编程篇1.pdf

    根据给定的信息,“Windows应用高级编程——C#编程篇1.pdf”这份文档主要涉及的是Windows平台上使用C#语言进行高级编程的技术与实践。虽然提供的具体内容部分并没有直接提及具体的知识点,但从标题和描述中可以推测...

    用于C语言与SQL Server醮嵌入式SQL编程技术.pdf

    首先,嵌入式SQL编程技术是将SQL语言嵌入到高级语言中,以弥补SQL语言在实现复杂应用方面的不足。这种方式下使用的SQL语句称为嵌入式SQL,而嵌入SQL的高级语言称为宿主语言。 在C程序中,为了能够区分SQL语句与...

Global site tag (gtag.js) - Google Analytics