12 2011 档案

摘要:一. 为什么要引入锁 多个用户同时对数据库的并发操作时会带来以下数据不一致的问题: 丢失更新 A,B两个用户读同一数据并进行修改,其中一个用户的修改结果破坏了另一个修改的结果,比如订票系统 脏读 A用户修改了数据,随后B用户又读出该数据,但A用户因为某些原因取消了对数据的修改,数据恢复原值,此时B得到的数据就与数据库内的数据产生了不一致 不可重复读 A用户读取数据,随后B用户读出该数据并修改,此时A用户再读取数据时发现前后两次的值不一致 并发控制的主要方法是封锁,锁就是在一段时间内禁止用户做某些操作以避免产生数据不一致 二 锁的分类 锁的类别有两种分法: ... 阅读全文
posted @ 2011-12-30 10:19 放哨De老鼠 阅读(528) 评论(1) 推荐(0) 编辑
摘要:Create PROC SP_bakup_DataBase -- 备份本地文件夹到远程计算机 -- 包括备份数据库AS DECLARE @dbName VARCHAR(50) --需备份的数据名称 DECLARE @fileTitle VARCHAR(200) -- 文件标题 DECLARE @folder VARCHAR(200) -- 文件夹名称 DECLARE @fileName VARCHAR(200) -- 备份文件名 DECLARE @localFolderPath VARCHAR(200) -- 本地文件夹路径 DECLARE @localBckPath VARCHAR(200) 阅读全文
posted @ 2011-12-28 15:40 放哨De老鼠 阅读(1650) 评论(0) 推荐(0) 编辑
摘要:一直对正则表达式不太注意,用到的时候又得到处查资料,前两天同事说有篇文章很好的介绍了正则表达式,搜索了一下,转过来,分享给大家,也给自己留个可以查找的地方。原文地址:http://deerchao.net/tutorials/regex/regex.htm本文目标30分钟内让你明白正则表达式是什么,并对它有一些基本的了解,让你可以在自己的程序或网页里使用它。如何使用本教程最重要的是——请给我30分钟,如果你没有使用正则表达式的经验,请不要试图在30秒内入门——除非你是超人 :)别被下面那些复杂的表达式吓倒,只要跟着我一步一步来,你会发现正则表达式其实并没有你想像中的那么困难。当然,如果你看完了 阅读全文
posted @ 2011-12-28 11:59 放哨De老鼠 阅读(384) 评论(0) 推荐(0) 编辑
摘要:简单点的直接返回查询的table对象CREATE FUNCTION Fun_GetReportNews(@type varchar(10)) RETURNS TABLE AS RETURN ( SELECT message,tablenames from tb_error WHERE tablenames = @type )调用:SELECT * FROM dbo.Fun_GetReportNews('')复杂点的 先创建一张临时表再返回表对象CREATE FUNCTION FUN_GetInfoList(@type varchar(10)) RETURNS @Table TA 阅读全文
posted @ 2011-12-27 10:51 放哨De老鼠 阅读(220) 评论(0) 推荐(0) 编辑
摘要:declare @test table(id int,name varchar(100))insert into @test(id,name)select ID,LastName from tb_OrderUserInfo where DATEDIFF(M,InTime,GETDATE())<3select * from @test 阅读全文
posted @ 2011-12-27 10:24 放哨De老鼠 阅读(212) 评论(0) 推荐(0) 编辑
摘要:CREATE FUNCTION [dbo].[GetSplitOfIndex]( @String NVARCHAR(MAX) , --要分割的字符串 @split NVARCHAR(10) , --分隔符号 @index INT --取第几个元素)RETURNS NVARCHAR(1024)AS BEGIN DECLARE @location INT DECLARE @start INT DECLARE @next INT DECLARE @seed INT SET @String = LTRIM(RTRIM(@String)) SET @start = 1 SET @next = 1 SE. 阅读全文
posted @ 2011-12-23 12:23 放哨De老鼠 阅读(200) 评论(0) 推荐(0) 编辑
摘要:select row_number() over(排序条件,必不可少),字段名(也可以是*) from 表名select row_number() over(order by id asc),id,name from table1 阅读全文
posted @ 2011-12-21 11:23 放哨De老鼠 阅读(251) 评论(0) 推荐(0) 编辑
摘要:update tb_order set UserID= a.ID from tb_OrderUserInfo a inner join tb_order p on p.rownum=a.rownumwhere DATEDIFF(M,p.InTime,GETDATE())<3tb_order 表和tb_OrderUserInfo 表对应同一行号tb_order 要取得tb_OrderUserInfo 的ID 阅读全文
posted @ 2011-12-21 09:35 放哨De老鼠 阅读(268) 评论(0) 推荐(0) 编辑
摘要:insert into(列名) select 列名 from 表名 where 条件 --不创建表,只复制表数据select 列名 into 表名(这个表名是不存在的) from 表名 where 条件,--创建一张新表,只复制选择的列名字段数据 阅读全文
posted @ 2011-12-20 11:30 放哨De老鼠 阅读(378) 评论(0) 推荐(0) 编辑
摘要:create proc sp_Testasbegin begin transaction begin try--sql语句省略end trybegin catch if(@@TRANCOUNT >0)insert into tb_error (Message)values(ERROR_MESSAGE())--这句永远不会执行 有谁知道请留意rollback transaction end catchif(@@TRANCOUNT >0)commit transaction 阅读全文
posted @ 2011-12-19 17:18 放哨De老鼠 阅读(216) 评论(0) 推荐(0) 编辑
摘要:.netframework2.0、3.5中的用法using System.Threading;Thread td= new Thread(new ThreadStart(run));//只传递方法名称、不能带参数private void run() {//方法体}.netframework4.0中可以这样使用using System.Threading.Tasks;Task task= new Task(() => run(0));//可以带参数Task.WaitAll(task);//可以判断等所有线程执行完在执行别的任务private void run(int num) {//方法体 阅读全文
posted @ 2011-12-19 08:54 放哨De老鼠 阅读(363) 评论(0) 推荐(0) 编辑
摘要:今天刚发现TRUNCATE能清空表数据,ID 标识自增会重置,从1开始TRUNCATE TABLE table1 阅读全文
posted @ 2011-12-17 10:57 放哨De老鼠 阅读(401) 评论(0) 推荐(0) 编辑
摘要:select * From OPENDATASOURCE('SQLOLEDB','Data Source=IP地址;User ID=数据库用户名;Password=数据库密码').数据库名称.dbo.表名结果提示: SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 'Ad Hoc Distr 阅读全文
posted @ 2011-12-17 10:30 放哨De老鼠 阅读(318) 评论(0) 推荐(0) 编辑
摘要:数据库中日期格式都是这样的 如:2011-11,2011-10,想直接查询本月数据有点困难尝试了多种办法后终于解决了!select * from es_exchangeratedate where datediff(m, case when len(e_ratedate)<8 then e_ratedate+'-01' end,getdate())=0 阅读全文
posted @ 2011-12-06 11:38 放哨De老鼠 阅读(290) 评论(0) 推荐(0) 编辑
摘要:LInq分页testDataContext dc = new testDataContext(); public string GetPageNum(GridView GridViewName, int pagesize, IQueryable<test> sql) { int page; if (HttpContext.Current.Request.QueryString["page"] != null) page = Convert.ToInt32(HttpContext.Current.Request.QueryString["page&quo 阅读全文
posted @ 2011-12-05 17:38 放哨De老鼠 阅读(701) 评论(0) 推荐(0) 编辑
摘要:ALTER function [dbo].[GetOrderNum](@ebaystockflag varchar(20)//规则字母)returns varchar(100)ASBEGIN declare @dt CHAR(8) declare @flag varchar(20) set @flag='B'+@ebaystockflag set @dt=CONVERT(CHAR(8),GETDATE(),112) declare @max varchar(100) SELECT @max=MAX(OrderNumber) FROM tb_EbayOrder WITH(XLOC 阅读全文
posted @ 2011-12-05 17:34 放哨De老鼠 阅读(2241) 评论(0) 推荐(0) 编辑
摘要:前台:<asp:DataList ID="DataList1" runat="server" RepeatDirection="Horizontal" RepeatColumns="5" CellSpacing="25"> <ItemTemplate> <img src="<%# Eval("FullName") %>" width="50" height="50" bord 阅读全文
posted @ 2011-12-05 16:49 放哨De老鼠 阅读(711) 评论(3) 推荐(0) 编辑
摘要:最近在做一个paypal抓取数据的程序,由于所有字段和paypal之间存在对应映射的关系,所以所有的sql语句必须得拼接传到存储过程里去执行,ALTER proc [dbo].[sp_common_paypal_AddInfo](@paypalsql varchar(max),--不包含用户表的paypalsql语句@paypalusersql varchar(max),--paypal用户表的sql语句@ebaysql varchar(max),--不包含用户表的ebaysql语句@ebayusersql varchar(max),--ebay的用户表sql语句@paypaluserwher 阅读全文
posted @ 2011-12-03 16:03 放哨De老鼠 阅读(499) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示