sql server 存储过程学习

原创 2013年12月03日 12:37:08
1.站点表里添加、更新数据

create PROCEDURE [dbo].[EDIT_STORE]
--定义一些变量
    @storeName nvarchar(50),
    @storeUrl nvarchar(50),
    @storeId int=null
AS
if(@storeId is null)
    begin
        update store set store_name=@storeName,store_url=@storeUrl where store_id=@storeId
    end
else
    if(exists (select store_id from store where store_url = @storeUrl))

    begin

--赋值
        set @storeId=(select top 1 store_id from store where store_url = @storeUrl)
        update store set store_name=@storeName,store_url=@storeUrl where store_id=@storeId
    end
    else
    begin
        insert into store (store_name,store_url) values (@storeName,@storeUrl)

    end


定义与使用游标的语句

    declare :
        declare  游标名[scroll]  cursor  for select语句[for update [of列表名]]
        定义一个游标,使之对应一个select语句
       for update任选项,表示该游标可用于对当前行的修改与删除
    open
       打开一个游标,执行游标对应的查询,结果集合为该游标的活动集
       open  游标名
    fetch
       在活动集中将游标移到特定的行,并取出该行数据放到相应的变量中
       fetch [next | prior | first | last | current | relative n | absolute m] 游标名into  [变量表]
    close
       关闭游标,释放活动集及其所占资源。需要再使用该游标时,执行open语句
       close  游标名
    deallocate
       删除游标,以后不能再对该游标执行open语句
       deallocate游标名
    @@FETCH_STATUS
        返回被FETCH语句执行的最后游标的状态.
       0 fetch语句成功
        -1 fetch语句失败
        -2 被提取的行不存在



游标的例子:
ALTER proc [dbo].[cusorInsert] @pId varchar(50) as
--局部变量 declare @id int
--声明游标 declare cur cursor for select product_category_id from product_category
--打开游标 open cur fetch next from cur into @id
--游标状态 0表示成功,用while循环 
while @@FETCH_STATUS=0 
begin 
insert into product(product_id,product_name,primary_product_category,product_length, product_width,product_height,product_weight,created_stamp,updated_stamp) 
values(@pId+ convert(varchar(30),@id),'ss',null,1,1,1,1,GETDATE(),GETDATE()) 
fetch next from cur into @id end
--关闭游标 close cur
--删除游标 deallocate cur











                    

【SQL 编程你也行】学习SQL Server的经历

说说自己的学习经历。 在学校里学了数据库课程,里面有一章专门讲sql,当时对数据库比较感兴趣,但由于各种原因,毕业后一直没有做数据库方面的工作。 虽然不做数据库,但是有空的时候就会看数据库方面的书...
  • yupeigu
  • yupeigu
  • 2016年01月12日 10:37
  • 952

sql server 快速入门学习笔记(基础)

以下是我刚开始学习sql过程中自己写的一些笔记 ,希望对刚开始入门的朋友有点帮助 内容比较杂大家见谅  sql 语句 1.增加语句 (1)insert into ([列名,列名]) values (对...
  • this_xyh
  • this_xyh
  • 2016年01月05日 21:51
  • 1502

关于SQL server 2017无法安装机器学习服务的问题解决方式

1.安装sql server2017,在安裝机器学习服务器时会出现如下问题,无法进行在线安装,需要先将四个地址对应的安装包进行下载 2.下载后的文件如下: 3.选择文件所存放的位置后发现,还是...
  • sytiao
  • sytiao
  • 2017年12月16日 21:26
  • 264

《SQL Server 2005 编程入门经典》学习笔记

第一章 RDBMS基础:SQL Server数据库构成 数据库中的对象 数据库管理系统中包含许多对象。对于SQL Server,它常包含以下重要的数据库对象: 数据库 索引 事务日志 程序集 表 ...
  • hehe6378
  • hehe6378
  • 2014年03月03日 18:01
  • 1139

SQL数据库学习总结

经过一段时间的学习,也对数据库有了一些认识,数据库基本是由表,关系,操作组成;对于初学者首先要学的 经过一段时间的学习,也对数据库有了一些认识。   数据库基本是由表,关系,操作组成;对于初学者...
  • qq_22167989
  • qq_22167989
  • 2016年01月13日 09:51
  • 1189

sqlserver存储过程学习(通俗易懂)

sqlserver存储过程学习(通俗易懂)
  • wanlong360599336
  • wanlong360599336
  • 2016年09月02日 17:02
  • 9804

SQL Server 触发器学习总结

SQL菜鸟入门级教程之触发器     触发器简介:   触发器(trigger)是种特殊的存储过程,它的执行不是由程序调用,也不需要手动操作,它是由事件来触发,事件大家应该非常熟悉吧,比如按钮的Cli...
  • bcbobo21cn
  • bcbobo21cn
  • 2016年03月12日 12:18
  • 1712

sql语句进阶教程(学习sql这一篇就够了)

转载自:http://blog.csdn.net/u011001084/article/details/51318434 最近从图书馆借了本介绍SQL的书,打算复习一下基本语法,记录一下笔记,整...
  • zsc2014030403015
  • zsc2014030403015
  • 2016年05月04日 23:07
  • 7081

隆重推荐【SQLServer】127个SQL server热门资料汇总(转)

最近有许多关于如何学习SQLSERVER的问题,其实新手入门的资源和贴子很多,现在向大家隆重推荐经过精心整理的【SQLServer】127个SQL server热门资料汇总 ,希望能对学习SQLSER...
  • tcs250
  • tcs250
  • 2013年03月15日 16:23
  • 2841

有了SQLServer的基础,轻松学习Oracle

最近想要了解一下Oracle,就和度娘借了点资料,学习学习。Oracle,我知道也是数据库,至于其他的,我就不清楚了。所以,还是了解一下吧。 其既然也是数据库,那和SQLService应该有所异同...
  • u010785685
  • u010785685
  • 2015年05月31日 23:47
  • 1082
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:sql server 存储过程学习
举报原因:
原因补充:

(最多只允许输入30个字)