篇一:
创建存储过程
Create Proc dbo.存储过程名存储过程参数
AS 执行语句 RETURN 执行存储过程 GO *********************************************************/ -- 变量的声明,sql里面声明变量时必须在变量前加@符号 DECLARE @I INT-- 变量的赋值,变量赋值时变量前必须加set
SET @I = 30-- 声明多个变量
DECLARE @s varchar(10),@a INT-- Sql 里if语句
IF 条件 BEGIN 执行语句 END ELSE BEGIN 执行语句 END DECLARE @d INT set @d = 1IF @d = 1 BEGIN
-- 打印
PRINT '正确' END ELSE BEGIN PRINT '错误' END -- Sql 里的多条件选择语句. DECLARE @iRet INT, @PKDisp VARCHAR(20) SET @iRet = 1 Select @iRet = CASE WHEN @PKDisp = '一' THEN 1 WHEN @PKDisp = '二' THEN 2 WHEN @PKDisp = '三' THEN 3 WHEN @PKDisp = '四' THEN 4 WHEN @PKDisp = '五' THEN 5 ELSE 100 END-- 循环语句
WHILE 条件 BEGIN 执行语句 ENDDECLARE @i INT
SET @i = 1 WHILE @i<1000000 BEGIN set @i=@i+1 END -- 打印 PRINT @i -- TRUNCATE 删除表中的所有行,而不记录单个行删除操作,不能带条件/*
TRUNCATE TABLE 在功能上与不带 Where 子句的 Delete 语句相同:二者均删除表中的全部行。但 TRUNCATE TABLE 比 Delete 速度快,且使用的系统和事务日志资源少。 Delete 语句每次删除一行,并在事务日志中为所删除的每行记录一项。TRUNCATE TABLE 通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放。 TRUNCATE TABLE 删除表中的所有行,但表结构及其列、约束、索引等保持不变。新行标识所用的计数值重置为该列的种子。如果想保留标识计数值,请改用 Delete。如果要删除表定义及其数据,请使用 Drop TABLE 语句。 对于由 FOREIGN KEY 约束引用的表,不能使用 TRUNCATE TABLE,而应使用不带 Where 子句的 Delete 语句。由于 TRUNCATE TABLE 不记录在日志中,所以它不能激活触发器。 TRUNCATE TABLE 不能用于参与了索引视图的表。 示例 下例删除 authors 表中的所有数据。*/ TRUNCATE TABLE authors-- Select INTO 从一个查询的计算结果中创建一个新表。 数据并不返回给客户端,这一点和普通的
-- Select 不同。 新表的字段具有和 Select 的输出字段相关联(相同)的名字和数据类型。 select * into NewTable from Uname -- Insert INTO Select -- 表ABC必须存在 -- 把表Uname里面的字段Username复制到表ABC Insert INTO ABC Select Username FROM Uname-- 创建临时表
Create TABLE #temp( UID int identity(1, 1) PRIMARY KEY, UserName varchar(16), Pwd varchar(50), Age smallint, Sex varchar(6) ) -- 打开临时表 Select * from #temp-- 存储过程
-- 要创建存储过程的数据库 Use Test -- 判断要创建的存储过程名是否存在 if Exists(Select name From sysobjects Where name='csp_AddInfo' Andtype='P')
-- 删除存储过程 Drop Procedure dbo.csp_AddInfo Go -- 创建存储过程 Create Proc dbo.csp_AddInfo -- 存储过程参数 @UserName varchar(16), @Pwd varchar(50),@Age smallint,
@Sex varchar(6) AS -- 存储过程语句体 insert into Uname (UserName,Pwd,Age,Sex) values (@UserName,@Pwd,@Age,@Sex) RETURN -- 执行 GO -- 执行存储过程 EXEC csp_AddInfo 'Junn.A','123456',20,'男'篇二:
存储过程的3种传回值:
1.以Return传回整数
2.以output格式传回参数
3.Recordset
传回值的区别:
output和return都可在批次程式中用变量接收,而recordset则传回到执行批次的客户端中
篇三:
1.判断插入值是否重复:
事务和存储过程优化
2. 条件查询语句:
条件查询直接放在SQL中判断