
SqlServer
帅醒
每天都被自己帅醒
展开
-
SQLServer事务的隔离级别(抽空学会)
数据库是要被广大客户所共享访问的,那么在数据库操作过程中很可能出现以下几种不确定情况。更新丢失(Lost update) 两个事务都同时更新一行数据,但是第二个事务却中途失败退出,导致对数据的两个修改都失效了。这是因为系统没有执行任何的锁操作,因此并发事务并没有被隔离开来。脏读(Dirty Reads) 一个事务开始读取了某行数据,但是另外一个事务已经更新了此数转载 2013-06-09 15:16:21 · 679 阅读 · 0 评论 -
MySQL基础语法
Delete: 与SqlServer不同,它需要加from关键字DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM tbl_name [WHERE where_definition] [ORDER BY ...] [LIMIT row_count]原创 2013-07-25 16:51:51 · 561 阅读 · 0 评论 -
MySql获取某个字段存在于在那个表
SELECT TABLE_SCHEMA,TABLE_NAME FROM information_schema.`COLUMNS` WHERE COLUMN_NAME = 'col1'col1为子段名。原创 2013-07-25 13:14:20 · 692 阅读 · 0 评论 -
MySql插入具有自增列的表时提示参数不一致的问题
今天执行了这么一条语句:Insert shop_goods_type Values('普通书籍',1,'')该表有4个字段:cat_id、cat_name enable dattr_group ,其中cat_id为自增列,如果这是Sqlserver数据库的话妥妥的能编译成功,而MySql就不行。后来我我不采取简化代码的方式,把字段名也给加上了:Insert shop_goods_t原创 2013-07-25 14:02:00 · 917 阅读 · 0 评论 -
MySql中取前几行数据
在mysql中是没有top关键字的,在mysql中可以用limit来完成功能。order by id desc limit 10 按照id的倒序排序 取出前10条order by id desc limit 0,10 按照id的倒序排序 取出前10条order by id limit 5,10 按照id的正序排序 从第5条开始取10条SELECT cat_id FROM s原创 2013-07-25 15:36:41 · 2484 阅读 · 0 评论 -
SQL批量插入数据几种方案的性能详细对比
昨天下午快下班的时候,无意中听到公司两位同事在探讨批量向数据库插入数据的性能优化问题,顿时来了兴趣,把自己的想法向两位同事说了一下,于是有了本文。公司技术背景:数据库访问类(xxx.DataBase.Dll)调用存储过程实现数据库的访问。技术方案一:压缩时间下程序员写出的第一个版本,仅仅为了完成任务,没有从程序上做任何优化,实现方式是利用数据库访问类调用存储过程,利用循环逐转载 2013-07-31 14:41:02 · 1054 阅读 · 0 评论 -
自定义函数
用户自定义函数是Sqlserver的数据库对象,他不能应用于一系列改变数据库状态的操作。但它可以像系统函数那样在查询中或存储过程中等中的程序段中使用。也可以像存储过程一样通过execute命令来执行,用户自定义函数中存储了Transact-SQL可以返回一定的值。在SqlServer中根据函数返回值形式的不同将用户自定义函数分为三种类型:标量型函数:标量型函数返回一个确定类型的标量值其原创 2013-07-23 09:03:52 · 574 阅读 · 0 评论 -
存储过程
什么是存储过程?存储过程将一些常用和比较复杂的工作,预先用SQL语句写好并给它指定一个名称,以后数据库需要该功能时只需要用exec或execute命令进行调用即可。如:exec proc_test存储过程与普通的SQL语句有什么区别呢?存储过程的优点:1、存储过程只需要在创建时编译,以后再次执行时不会进行编译。而普通SQL语句每执行一次都会进行编译,所以是用存储过程可提交数据库的效转载 2013-07-22 23:25:41 · 919 阅读 · 1 评论 -
SqlServer查询介于两个值之间的数据记录
sql的between與查詢日期範圍的问题,今天将access转sql时发现的问题。資料 CustomerIdNameRegisterDate1澎澎2007/1/5 00:00:002丁丁2007/1/6 00:00:003亞亞2007转载 2013-07-03 15:01:55 · 15534 阅读 · 0 评论 -
SQL Server 存储过程
Transact-SQL中的存储过程,非常类似于Java语言中的方法,它可以重复调用。当存储过程执行一次后,可以将语句缓存中,这样下次执行的时候直接使用缓存中的语句。这样就可以提高存储过程的性能。Ø 存储过程的概念 存储过程Procedure是一组为了完成特定功能的SQL语句集合,经编译后存储在数据库中,用户通过指定存储过程的名称并给出参数来执行。 存储过程中可以包含逻辑控转载 2013-07-03 15:07:14 · 527 阅读 · 0 评论 -
定一个变量来存储存储过程的返回值
(1)不带任何参数的存储过程(存储过程语句中含有return) ---创建存储过程 CREATE PROCEDURE testReturn AS return 145 GO ---执行存储过程 DECLARE @RC int exec @RC=testReturn select @RC ---说明 查询结果为145 (2)带输入参转载 2013-07-03 10:56:10 · 1786 阅读 · 0 评论 -
c#操作DBF数据库文件
刚来一个新的学校,学校里管理数据都是用的DBF。。这让我内牛满面,于是乎,管理学生成绩的任务便落到了我这个搞.NET的童鞋身上了。上网查了下c#操作DBF的文章,不是很多种办法就是讲的不清不楚,我通过http://www.connectionstrings.com/dbf-foxpro上的提示,成功搞定了对DBF的操作,现在来跟大家分享下~ 字符串:string connectSt转载 2013-06-27 12:03:12 · 1092 阅读 · 0 评论 -
用户录入数据中存在'号问题
如果用户在录入的数据中存在'(引号)并且你使用的DBHelper类没有处理,那你就悲剧了。 其实我还是觉得在为MODEL对象赋值时把引号替换成''进行转义比较好。 Model.CustomerName = txtCustomerName.Text.Replace('\'','\'');原创 2013-07-08 12:28:22 · 565 阅读 · 0 评论 -
SQL Server触发器创建、删除、修改、查看示例步骤
一﹕ 触发器是一种特殊的存储过程﹐它不能被显式地调用﹐而是在往表中插入记录﹑更新记录或者删除记录时被自动地激活。所以触发器可以用来实现对表实施复杂的完整性约`束。 二﹕ SQL Server为每个触发器都创建了两个专用表﹕Inserted表和Deleted表。这两个表由系统来维护﹐它们存在于内存中而不是在数据库中。这两个表的结构总是与被该触发器作用的表的结构相同。触发器转载 2013-06-15 11:37:54 · 715 阅读 · 0 评论 -
查询整个数据库中某个特定值所在的表和字段的方法
有时候我们想通过一个值知道这个值来自数据库的哪个表以及哪个字段,在网上搜了一下,找到一个比较好的方法,通过一个存储过程实现的。只需要传入一个想要查找的值,即可查询出这个值所在的表和字段名。前提是要将这个存储过程放在所查询的数据库。CREATE PROCEDURE [dbo].[SP_FindValueInDB]( @value VARCHAR(1024))转载 2013-06-13 10:11:18 · 805 阅读 · 0 评论 -
事务
原来一直以为事务是先把执行的结果送给数据库,如果遇到ROLLBACK语句然后执行回滚操作,今天特意测试了一番,结果不是这样的,我是这样测试的:我在操作SQL的语句上面写了BEGIN TRAN,但是并没写BEGIN COMMIT TRAN或BEGIN ROLLBACK TRAN,执行后发现SQL语句被没有改变数据库,因此得出决定事务过程中的SQL语句是经过BEGIN COMMIT TRAN或BEGI原创 2013-06-03 13:54:30 · 429 阅读 · 0 评论 -
GOTO errhandle与 @ERRORSUM = @ERROR + ERRORSUM 在事务中的区别(抽空学会)
原创 2013-06-09 15:44:15 · 876 阅读 · 0 评论 -
set nocount on(抽空学会)
set nocount on的疑问 set nocount on作用 set nocount on什么意思MSDN解释:阻止在结果集中返回可显示受 Transact-SQL 语句或存储过程影响的行计数的消息。Stops the message that shows the count of the number of rows affected by a Trans转载 2013-06-09 15:25:14 · 1010 阅读 · 0 评论 -
使用C#对MySQL数据库执行存在中文的SQL语句,不返回值的问题
/// /// 执行查询语句,返回DataSet /// /// 查询语句 /// DataSet public static DataSet Query(string SQLString) { using (MySqlConnection connection = new原创 2013-07-25 16:44:36 · 1716 阅读 · 0 评论