篇一:

创建存储过程
    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 = 1

IF @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   
        执行语句
    END

DECLARE @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' And

type='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中判断 

最新文章

  1. ComponentOne 2016 V2发布了!
  2. nginx(3、负载均衡)
  3. 银行ATM机工作流程模拟编程
  4. C语言-05-内存分析
  5. 你好,C++(1)C++是什么?C++的“前世今生”
  6. java进阶计划
  7. poj2196---Specialized Four-Digit Numbers
  8. zoj 1134 - Strategic Game
  9. ASP.NET自定义控件组件开发 第三章 为控件添加事件 前篇
  10. 常用Select语句
  11. CSS入门介绍
  12. 手写简单的jq雪花飘落
  13. 常用的lamp环境以及一些依赖包的安装
  14. Socket构造但不连接
  15. python学习快人一步,从19个语法开始!
  16. javascript 字面量 和变量 之间的关系
  17. 20155325 Exp9 Web安全基础
  18. 怎么部署 .NET Core Web项目 到linux
  19. 移动端微信应用开发总结(function ajax meta)
  20. javascript+JQuery实现返回顶部功能

热门文章

  1. Web 安全概念
  2. 【bzoj3670】[Noi2014]动物园 KMP-next数组
  3. [解决方案]未能找到路径“~\bin\roslyn\csc.exe”的一部分
  4. Codeforces Round #516 (Div. 2)D. Labyrinth
  5. HDU3605:Marriage Match IV
  6. 在linux中启动mysql服务的命令
  7. NetAPP常用操作
  8. python module :shelve
  9. img 标签下多余空白的解决方法
  10. display:inline、block、inline-block的区别 摘】