摘要:
1.在数据库中保存的存储过程都是编译过的,执行速度快。2.允许模块化编程,类型方法的复用。3.提高了性能的安全性,防止sql注入。4.调用时减少网络流通量,只传输存储过程名称。系统存储过程一般以sp_或xp_开头,用户存储过程一般以usp_开头。调用存储过程用关键字exec1.创建一个名为usp_helloworld存储过程create proc usp_helloworldasbegin print 'hello world!!!';endexec usp_helloworld2.创建一个带参数存储过程,并输出两个的和。--带参数存储过程create proc usp_add 阅读全文
摘要:
经常会用到的往数据库插入一条记录并获取该条记录的ID。千万不要去,先insert into一条记录,然后查询表格的最后一条记录是多少,这样会有问题的,如果同时有多个连接插入数据的话,你获取的可能不是你刚才的那条记录。这个是比较小儿科做法,一般人估计不会这么干。在sql2005以前很多人都是采用SELECT@@Identity来获取上一条记录的自动编号。在insert into之后紧接着执行@@Identity。C# ado.net中调用时,把两条语句作为一条sql,同时提交。用ExecuteScalar读取。insert into employees values('张三1', 阅读全文
摘要:
事务的用途这里就不赘述了。在一些大型项目安全性强项目用途还是比较广泛的。在执行银行转账操作的时候,A用户向B用户转账1000元。--begin transaction --打开一个事务,简写可以用begin tran--@@error范围错误码,如果没错误就返回0begin tran declare @sum int update employees set balance=balance-1000 where id=1 set @sum =@sum+@@error update employees set balance=balance+1000 where id=2... 阅读全文
摘要:
虽然现在什么问题都能问百度、谷歌。但是有些基本的知识还是需要上手就有的。现在很多工具都是可视化操作,很多命令就淡忘了。重新复习下,面试题中出现的几率很高的。下面的操作是在microsoft sql server 2005中测试无误,其他版本请大家自行测试。1>简单创建数据库,数据表创建数据库mydb。注意用户名称要用中括号包裹,以区分系统关键词。我很多时候就不太习惯用。不过这样在程序中很容易出错而找不到问题在哪。create database mydb创建一个员工表。注意自增长的关键词identity;varchar和nvarchar的区别,两者都能存储中文字符,但varchar在英文操 阅读全文
摘要:
2013了过的好快啊。工作也快三年了。在sparke也快两年了。工作一直都是松松散散,可是自己也没闲着(都是瞎忙)。在这里也没提高太多开发知识。本事打算依靠这里的时间充分多做点额外收入,但计划赶不上变化。家里给垫了部分钱在济南买了套房子。买房前也没感到啥压力,买了房子了却发现吃力不小。月供+房租+生活费,现在还有小宝宝,开销大了不少,勉强够支撑生活,工资还是少了点,外块总是不稳定因素。决定2013走向新的征程,打算换工作了,也不能再这样混下去了。要不开发的经验真是都荒废了。博客园其实很早就注册了,个人也不太习惯写Blog,一直没写过。年前把技术整理整理,把知识点总结总结,记录在博客园,已被查询 阅读全文