原文: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 Server中的语句语法应用,通过大量练习和相关数据教程,帮助你熟练掌握这一强大的工具。 首先,我们需要理解SQL(Structured Query Language)的基本概念。SQL是用于与数据库交互的标准语言,...
根据提供的文件信息,本文将对SQL Server中的数据操纵语言(Data Manipulation Language, DML)与数据定义语言(Data Definition Language, DDL)的关键概念及其语法进行深入解析。以下是对这些概念的详细解释: ##...