原文:http://www.cnblogs.com/lipan/archive/2010/12/09/1892516.html
一、定义变量
declare @a int
set @a=5
print @a
declare @user1 nvarchar(50)
select @user1= '张三'
print @user1
declare @user2 nvarchar(50)
select @user2 = Name from ST_User where ID=1
print @user2
declare @user3 nvarchar(50)
update ST_User set @user3 = Name where ID=1
print @user3
|
二、表、临时表、表变量
create table #DU_User1
(
[ID] [ int ] NOT NULL ,
[Oid] [ int ] NOT NULL ,
[Login] [nvarchar](50) NOT NULL ,
[Rtx] [nvarchar](4) NOT NULL ,
[ Name ] [nvarchar](5) NOT NULL ,
[ Password ] [nvarchar]( max ) NULL ,
[State] [nvarchar](8) NOT NULL
);
insert into #DU_User1 (ID,Oid,[Login],Rtx, Name ,[ Password ],State) values (100,2, 'LS' , '0000' , '临时' , '321' , '特殊' );
select * into #DU_User2 from ST_User where ID<8
select * from #DU_User2 where ID<3 union select * from #DU_User1
drop table #DU_User1
drop table #DU_User2
|
CREATE TABLE #t
(
[ID] [ int ] NOT NULL ,
[Oid] [ int ] NOT NULL ,
[Login] [nvarchar](50) NOT NULL ,
[Rtx] [nvarchar](4) NOT NULL ,
[ Name ] [nvarchar](5) NOT NULL ,
[ Password ] [nvarchar]( max ) NULL ,
[State] [nvarchar](8) NOT NULL ,
)
insert into #t select * from ST_User
alter table #t add [myid] int NOT NULL IDENTITY(1,1)
alter table #t add [myid1] uniqueidentifier NOT NULL default (newid())
select * from #t
drop table #t
|
select IDENTITY( int ,1,1) as ID, Name ,[Login],[ Password ] into #t from ST_User
select * from #t
select ( select SUM (1) from ST_User where ID<= a.ID) as myID,* from ST_User a order by myID
|
declare @t table
(
id int not null ,
msg nvarchar(50) null
)
insert into @t values (1, '1' )
insert into @t values (2, '2' )
select * from @t
|
三、循环
declare @a int
declare @ sum int
set @a=1
set @ sum =0
while @a<=100
begin
set @ sum +=@a
set @a+=1
end
print @ sum
|
四、条件语句
if(1+1=2)
begin
print '对'
end
else
begin
print '错'
end
declare @today int
declare @week nvarchar(3)
set @today=3
set @week= case
when @today=1 then '星期一'
when @today=2 then '星期二'
when @today=3 then '星期三'
when @today=4 then '星期四'
when @today=5 then '星期五'
when @today=6 then '星期六'
when @today=7 then '星期日'
else '值错误'
end
print @week
|
五、游标
declare @ID int
declare @Oid int
declare @Login varchar (50)
declare user_cur cursor for select ID,Oid,[Login] from ST_User
open user_cur
while @@fetch_status=0
begin
fetch next from user_cur into @ID,@Oid,@Login
print @ID
end
close user_cur
deallocate user_cur
|
六、触发器
触发器中的临时表:
Inserted
存放进行insert和update 操作后的数据
Deleted
存放进行delete 和update操作前的数据
Create trigger User_OnUpdate
On ST_User
for Update
As
declare @msg nvarchar(50)
select @msg = N '姓名从“' + Deleted. Name + N '”修改为“' + Inserted. Name + '”' from Inserted,Deleted
insert into [LOG](MSG) values (@msg)
drop trigger User_OnUpdate
|
七、存储过程
CREATE PROCEDURE PR_Sum
@a int ,
@b int ,
@ sum int output
AS
BEGIN
set @ sum =@a+@b
END
CREATE PROCEDURE PR_Sum2
@a int ,
@b int
AS
BEGIN
Return @a+@b
END
declare @mysum int
execute PR_Sum 1,2,@mysum output
print @mysum
declare @mysum2 int
execute @mysum2= PR_Sum2 1,2
print @mysum2
|
八、自定义函数
函数的分类:
1)标量值函数
2)表值函数
a:内联表值函数
b:多语句表值函数
3)系统函数
create function FUNC_Sum1
(
@a int ,
@b int
)
returns int
as
begin
return @a+@b
end
create function FUNC_UserTab_1
(
@myId int
)
returns table
as
return ( select * from ST_User where ID<@myId)
create function FUNC_UserTab_2
(
@myId int
)
returns @t table
(
[ID] [ int ] NOT NULL ,
[Oid] [ int ] NOT NULL ,
[Login] [nvarchar](50) NOT NULL ,
[Rtx] [nvarchar](4) NOT NULL ,
[ Name ] [nvarchar](5) NOT NULL ,
[ Password ] [nvarchar]( max ) NULL ,
[State] [nvarchar](8) NOT NULL
)
as
begin
insert into @t select * from ST_User where ID<@myId
return
end
select * from dbo.FUNC_UserTab_1(15)
declare @s int
set @s=dbo.FUNC_Sum1(100,50)
print @s
drop function FUNC_Sum1
|
谈谈自定义函数与存储过程的区别:
一、自定义函数:
1. 可以返回表变量
2. 限制颇多,包括
不能使用output参数;
不能用临时表;
函数内部的操作不能影响到外部环境;
不能通过select返回结果集;
不能update,delete,数据库表;
3. 必须return 一个标量值或表变量
自定义函数一般用在复用度高,功能简单单一,争对性强的地方。
二、存储过程
1. 不能返回表变量
2. 限制少,可以执行对数据库表的操作,可以返回数据集
3. 可以return一个标量值,也可以省略return
存储过程一般用在实现复杂的功能,数据操纵方面。
分享到:
相关推荐
【Sql Server基本语法大全】 Sql Server是微软公司推出的一款关系型数据库管理系统,广泛应用于企业级数据存储和管理。本文将详细介绍Sql Server中的基本语法,包括创建与删除数据库、备份与恢复、表的操作、索引与...
在SQL Server中,基础语法主要涵盖以下几个方面: 1. **数据查询**:SQL的基础是SELECT语句,用于从数据库中检索数据。例如,`SELECT * FROM Customers`将获取Customers表中的所有记录。通过指定列名、使用WHERE...
sqlserver 基本语法 MS SQL Server 是一种关系数据库管理系统,提供了强大的数据存储和管理功能。下面我们将介绍 SQL Server 的基本语法,包括数据定义语言(DDL)、数据操纵语言(DML)和数据控制语言(DCL)。 ...
SQL Server 基础语法 SQL Server 是一种关系数据库管理系统,提供了强大的数据存储和管理功能。 SQL Server 的基础语法包括数据定义、数据操纵和数据控制三个方面。 1. 数据定义功能 数据定义功能是 SQL Server ...
Sqlserver基本增删改查及存储过程,事务等语法及其对应范例
SQL Server 基本语法 的 笔记 所有语法一一罗列完全
【SQL SERVER基本语法参考】 SQL Server是一款广泛应用的关系型数据库管理系统,它支持丰富的数据类型和复杂的查询操作。在SQL Server中,我们主要通过两种语言来管理数据:DDL(Data Definition Language)用于...
本教材重点讲解了,关于sql server 的基础语法,包含但不限于标识符,数据类型,表达式,控制流语句,增删改查,简单查询,高级查询,分组,排序,视图的基本操作等知识点的详解。同时附有视频学习地址。希望能帮助...
### SQLServer SQL语法大全 #### 创建数据库 在SQL Server中创建数据库是一项基本操作,通过`CREATE DATABASE`命令来实现。创建数据库时可以指定文件和日志文件的位置、初始大小及增长方式等参数。 **语法示例:**...
Oracle和SqlServer语法区别 Oracle和SqlServer是两种流行的关系型数据库管理系统,它们之间存在着一些语法区别。了解这些区别对于开发者来说非常重要,因为它可以帮助他们更好地迁移到新的数据库管理系统。下面将...
SQLServer 查询语法 SQL Server 是一款功能强大且流行的关系数据库管理系统,查询语法是 SQL Server 的核心组件之一。本文将对 SQL Server 查询语法进行详细的介绍,从基础查询语法到高级查询语法,涵盖了查询限制...
通过学习和实践这些SQL Server基本语法,初学者将能够有效地管理和操作数据库。经典SQL语句大全.doc和SQL语法基础.doc文档将更深入地探讨这些概念,提供丰富的实例和练习,助你在SQL Server的世界里游刃有余。
### SQL Server 存储过程基本语法知识点解析 #### 一、定义变量 在 SQL Server 中,我们可以使用 `DECLARE` 语句来定义变量,并通过 `SET` 或 `SELECT` 来给变量赋值。 ##### 1. 简单赋值 ```sql DECLARE @a int; ...
学习SQL Server数据库语法速成,不仅需要理解这些基本概念,还要通过实际操作来熟悉和掌握。这通常涉及到创建数据库、创建表、练习查询、操作数据以及实践存储过程等实际场景。通过不断地练习和应用,你将能迅速提升...
为了更好地使用SqlServer,需要掌握一些基本的语法和约束。 一、约束种类 在SqlServer中,约束是一种限制或规则,用于确保数据的正确性和一致性。常见的约束种类有: 1. 默认约束(Default):用于指定列的默认值...
Oracle 和 SQL Server 是两种广泛应用的关系型数据库管理系统,它们在语法上有许多相似之处,但也存在显著的差异。在将 Oracle 数据库中的数据操作语言(DML)语句和过程化语言(PL/SQL)程序迁移至 SQL Server 时,...
MySQL和SQL Server是两种广泛应用的关系型数据库管理系统(RDBMS),它们在基础语法上存在一些差异,这主要体现在数据定义、数据操作、查询语言以及事务处理等方面。以下将详细阐述这些区别。 一、数据定义(DDL)...
16.SQL Server 2014 BETWEEN语法.mp4 17.SQL Server 2014子查询IN.mp4 18.SQL Server 2014子查询EXISTS.mp4 19.SQL Server 2014返回记录排序.mp4 2.SQL Server 2014硬件和软件要求.mp4 20.SQL Server 2014关联...
SQL的过程中对调用者传进的SQL进行转换后再执行,就基本完成了整个系统的SQL语法从SQL Server到Oracle的 兼容,呵呵,听起来有点不可思议。系统已经于3个月前上线,目前运行很稳定。 如果有人用得着或发现什么...
本教程将深入探讨SQL Server中的语句语法应用,通过大量练习和相关数据教程,帮助你熟练掌握这一强大的工具。 首先,我们需要理解SQL(Structured Query Language)的基本概念。SQL是用于与数据库交互的标准语言,...