SQL专辑
文章平均质量分 74
shaily
这个作者很懒,什么都没留下…
展开
-
利用SQL Server 2005数据库邮件发送电子邮件
随着技术的不断进步,我们需要知道在你的信息系统发生了什么,为了满足这种日益增长的需求要求有更高级的方法。能够迅速和简单地了解形势,尤其是了解潜在的问题,这对于我们非常重要。微软不断的生产新产品来传递这种能力,在SQL Server 2005中可获得的一些数据库特别选项有:查询通知、通知服务、服务代理和数据库邮件。数据库邮件——SQL Server 2005中的一个新型电子邮件发送平台。在这转载 2009-07-06 15:26:00 · 1680 阅读 · 0 评论 -
临时表和内存表差别
你会看到这个提示,那是因为你的系统无法识别某栏目的模型信息,或者你新建模型后,没为这个模型设计单独的模板。 不同模型的文档浏览页的模板为:article_模型名字标识.htm (更多的信息你可以在频道模型管理的地方查看)。 文章内容 Create table #tb1 { myID int, myText nvarchar(200) } 和 Declare @tb1 table转载 2009-04-14 10:13:00 · 1061 阅读 · 0 评论 -
SQL 死锁
其实所有的死锁最深层的原因就是一个:资源竞争表现一: 一个用户A 访问表A(锁住了表A),然后又访问表B 另一个用户B 访问表B(锁住了表B),然后企图访问表A 这时用户A由于用户B已经锁住表B,它必须等待用户B释放表B,才能继续,好了他老人家就只好老老实实在这等了 同样用户B要等用户A释放表A才能继续这就死锁了解决方法: 这种死锁是由于你的程序的BUG产生的,转载 2009-04-02 15:45:00 · 918 阅读 · 0 评论 -
SQL Server死锁总结
1.死锁原理 根据<a onclick="function onclick(){tagshow(event, %B2%D9%D7%F7%CF%B5%CD%B3);}" href="javascript:;" target="_self">操作系统中的定义:死锁是指在一组进程中的各个进程均占有不会释放的资源,但因互相申请被<a onclick="function oncli转载 2009-04-14 15:00:00 · 928 阅读 · 0 评论 -
SQL 并发的问题
--设tb(A,B,C) create table #tb(A varchar(2),B varchar(2),C varchar(2)) insert into #tb select a1,b1,c1 union all select a2,b2,c2 union all sele转载 2009-04-14 14:46:00 · 3093 阅读 · 0 评论 -
EXEC和sp_executesql的区别
1,EXEC的使用 2,sp_executesql的使用 MSSQL为我们提供了两种动态执行SQL语句的命令,分别是EXEC和sp_executesql;通常,sp_executesql则更具有优势,它提供了输入输出接口,而EXEC没有。还有一个最大的好处就是利用sp_executesql,能够重用执行计划,这就大大提供了执行性能(对于这个我在后面的例子中会详加说明),还可以编写更安全的代码。转载 2009-04-14 13:41:00 · 848 阅读 · 0 评论 -
如何指定输出参数,当您使用在 sp _ executesql SQL Server 中存储过程
sp _ executesql 系统存储过程用于执行 T-SQL 语句的可重复使用多次,或执行动态生成的 T-SQL 语句。 需要作为输入参数才处理 T-SQL 语句或批次。 它还允许指定以便从 T-SQL 语句生成任何输出可存储 (尽管这未记录 SQL Server 联机丛书中) 的输出参数。在该输出参数将 sp _ executesql 有用的两种情况是: 如果 sp _ execut转载 2009-03-16 11:08:00 · 1328 阅读 · 0 评论 -
数据库行转列的sql语句
问题描述假设有张学生成绩表(CJ)如下Name Subject Result张三 语文 80张三 数学 90张三 物理 85李四 语文 85李四 数学 92李四 物理 82现在 想写 sql 语句 查询后结果 为 姓名 语文 数学 物理张三 80 90 85李四 85 92 82 该怎么实现 ?研究意义 这是个并不复杂的问题,但却是数据库中行转载 2009-02-09 12:08:00 · 911 阅读 · 1 评论 -
数据库数据跨机器传输
--访问不同电脑上的数据库(远程只要联好网就一样) --如果经常访问或数据量大,建议用链接服务器 --创建链接服务器 exec sp_addlinkedserver srv_lnk,,SQLOLEDB,远程服务器名或ip地址 exec sp_addlinkedsrvlogin srv_lnk,false转载 2009-01-23 15:39:00 · 753 阅读 · 0 评论 -
不用SQL语句查询DataTable中的数据
在实际编程工程中,常常遇到这样的情况:DataTable并不是数据库中的,或者DataTable尚未写到数据库,或者从数据库中读出的DataTable已经在本地被改动,又没有写回数据库(可能还要作其他改动),在这些情况下,要查询DataTable中的数据,强大的SQL语言就派不上用场了。 有些.NET程序员采取在数据库中建立临时表等方法来解决这类查询问题。而我觉得这种方法不可行,其实只要用.N转载 2009-01-23 14:51:00 · 743 阅读 · 0 评论 -
如何查看死锁时在执行的SQL语句
脚本一,查出锁的关系,谁把谁锁主了set serveroutput ondeclaremes varchar2(2000);tmp_id1 number(22);tmp_id2 number(22);lk_sid number(22);tmp_mac varchar2(64);fl boolean;beginfl:=false;for c1 in (select sid,serial#,ma转载 2009-01-20 17:07:00 · 1612 阅读 · 0 评论 -
Sqlserver2000中的并发问题-数据库专栏,SQL Server
sqlserver2000中的并发问题一、并发问题的产生:如果没有锁定且多个用户同时访问一个数据库,则当他们的事务同时使用相同的数据时可能会发生问题。并发问题包括: 丢失或覆盖更新。未确认的相关性(脏读)。不一致的分析(非重复读)。幻像读。 1、丢失更新:当两个或多个事务选择同一行,然后基于最初选定的值更新该行时,会发生丢失更新问题。每个事务都不知道其他事务的存在。最后的更新将重写由其他事务所做的转载 2009-01-08 17:29:00 · 2651 阅读 · 0 评论 -
快速修改表结构,表记录
ALTER TABLE - SQL 命令以编程方式修改表的结构。语法ALTER TABLE TableName1ADD | ALTER [COLUMN] FieldName1FieldType [(nFieldWidth [, nPrecision])][NULL | NOT NULL][CHECK lExpression1 [ERROR cMessageText1]][DEFAULT e转载 2008-09-22 11:47:00 · 2125 阅读 · 0 评论 -
SQL分割字符串函数
创建函数:CREATE function [dbo].[SplitStr] ( @SourceSql varchar(8000), @StrSeprate varchar(100)) returns @temp table(F1 varchar(100) ) as begin declare @ch转载 2008-07-03 11:21:00 · 591 阅读 · 0 评论 -
SQL里类似SPLIT的分割字符串函数
方法一:use studySET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGO-- =============================================-- Author: cxw-- Create date: 2006/11/28-- Description: 用递归实现字符串分割/*--函转载 2008-07-03 11:20:00 · 1802 阅读 · 1 评论 -
执行sql命令,返回参数值,怕忘记了,记录一下
DECLARE @j nvarchar(120),@sql AS NVARCHAR(100),@i AS INT;SET @sql = N SET @p = 11 set @stmt=23112 ;EXEC sp_executesql @sql, @params = N@p AS INT OUTPUT,@stmt AS Nvarchar(12) OUTPUT, @p = @i OU原创 2009-04-14 12:08:00 · 747 阅读 · 0 评论 -
我做了一个EXE文件,想在SQL Server上定时执行这个EXE文件,如何实现
exec master..xp_cmdshell c:/aa.exe 如果是定期处理: --创建作业 exec msdb..sp_add_job @job_name=数据处理 --创建作业步骤 declare @sql varchar(800),@dbname varchar(250) select @转载 2009-04-21 10:17:00 · 1929 阅读 · 0 评论 -
用SQL2005发送邮件
最近在CSDN上面看了《实现统计一个表的记录数,如果每天超过一定数量就发送邮件报警的作业脚本》帖子。但是上面好多的意见多是在SQL2000上面的。于是自己就开始了一下在SQL2005上面的实践。1。首先要启用数据库邮件存储过程。具体操作如下:在“开始”菜单上,依次指向“所有程序”、Microsoft SQL Server 2005、“”,然后单击“SQL Server 外围应用配置器”转载 2009-07-06 15:25:00 · 1105 阅读 · 1 评论 -
Linq 使用总结
语言集成查询 (LINQ) 是 Visual Studio 2008 和 .NET Framework 3.5 版中一项突破性的创新,它在对象领域和数据领域之间架起了一座桥梁最后一项目用到LinQ ,所以急冲冲都学习了LinQ语书写,下面是我个人在项目中总结用到LinQ 的技术点,说的不好,请大家给出指教有人这样说,LinQ就是FrameWork2.0中DataSet的升级版,我也有同感,首先在写转载 2009-06-17 16:26:00 · 1455 阅读 · 0 评论 -
树型结构的处理
树型结构在应用中被广泛的运用,在数据操作上需要一定的技巧来进行处理: 在表结构的定义上,有多种方式可以采用。 .数据表: a.单向链表式的结构 ( 这是藕给它起的名称,因为它与链表的结构相似,除了必要的自身描述外,就只包含父节点的位置) DDL示例:--相当于单向链表create table linkTree ( id varchar(10) prima转载 2009-06-09 09:51:00 · 1012 阅读 · 0 评论 -
基于AJAX的动态树型结构的设计与实现
树型结构是一类应用非常广泛的数据结构。人类社会中宗族的族谱和现代企业的组织形式都是树型结构。在计算机领域中,文件系统中文件的管理结构、存储器管理中的页表、数据库中的索引等也都是树型结构。随着Internet的飞速发展,树型结构在浏览器/服务器(Browser/Server,简称B/S)应用系统的应用也越来越广泛。 目前,在互联网上广泛存在、应用的树型结构一般分为两种:静态和动态结构。静态结构存转载 2009-06-09 09:45:00 · 624 阅读 · 0 评论 -
PowerDesigner 设计数据库 例子
数据库的结构(例如表、关系、视图和触发器)称为数据库模式。可使用 SQL 语句创建这些元素并按照所需的方式进行排列,但是如果不使用图形工具,则可能会造成混淆。PowerDesigner 提供了一种数据库结构的图形表示。只需绘制新表或输入信息,即可更好地修改数据库的结构或创建全新的表。在设计完成后,PowerDesigner 可生成一个 SQL 脚本以生成新的数据库。下面的图示显示了示例转载 2009-05-31 00:42:00 · 1510 阅读 · 1 评论 -
有关SQL模糊查询
SELECT * FROM user WHERE name LIKE ;%三%;将会把name为“张三”,“三脚猫”,“唐三藏”等等有“三”的全找出来;其中LIKE ;%三%明显多了个分号“;”,这还能搜索得出来么?估计是编辑器编译的缘故。======重新编辑文如下:在进行数据库查询时,有完整查询和模糊查询之分。一般模糊语句如下:SELECT 字段 FROM 表 WHERE转载 2009-08-03 11:17:00 · 644 阅读 · 0 评论 -
Repository模式
近来发现很多ASP.NET MVC的例子中都使用了Repository模式,比如Oxite,ScottGu最近发布的免费的ASP.NET MVC教程都使用了该模式。就简单看了下。 在《企业架构模式》中,译者将Repository翻译为资源库。给出如下说明: 通过用来访问领域对象的一个类似集合的接口,在领域与数据映射层之间进行协调。 在《领域驱动设计:软件核心复杂性应对之道》中,译转载 2009-05-21 01:23:00 · 1274 阅读 · 1 评论 -
自已做标识列的例子,不自动重排编号,而是自动补号
--自已做标识列的例子,不自动重排编号,而是自动补号:--创建得到最大id的函数create function f_getid()returns char(3)asbegindeclare @id intif not exists(select 1 from tb where id=001) set @id=1elsebegin select @id=max(id) from tb转载 2009-07-24 14:30:00 · 788 阅读 · 0 评论 -
2005数据库脚本在SQL2000上执行
在SQL2005上生成一个数据库脚本文件,然后在SQL2000上执行的时候,会出现很多的问题:如SQL2005的系统表与 SQL2000的系统表名是有所不同的、sp_addextendedproperty执行时是不需加上"参数=",为了日后学习或是查询方便,记之:1.找到"WITH (IGNORE_DUP_KEY = OFF) ON "这一句,用全部替代为空2.找到"sys.objec转载 2009-05-12 10:15:00 · 1022 阅读 · 0 评论 -
Linq To Sql, 为何继承就这么费劲?
Linq To Sql(以下简称LS)从一降世似乎就是个问题宝宝。批更新问题, Like问题,RTM之前的"BUG"(select new不能显式创建实体)等等接踵而至,很多时候我们不得不回到SqlCommand去来"扩展"LS,不巧的是,LS留给程序员的灵活性很有限,我们的Extension总是有不尽完美的地方,在自我扩展的同时我更多的是期待Entity Framework正式Release时转载 2009-04-29 16:54:00 · 987 阅读 · 0 评论 -
Linq动态查询与模糊查询(带源码示例)
最近有个项目用Linq做的,有个复合搜索模糊查询的功能,有点麻烦,绕了好几个弯,最后是解决了,在这里分享一下我的处理过程,如果大家有更好的办法也请给我介绍一下。我用Linq还不熟,好多东西边查资料边做的。 应用场景如下图,多条件复合搜索,很常见吧(但Linq搞这个还真是麻烦): 阶段一:首先是找到了李永京(YJingLee)前辈的《LINQ体验(17)——LINQ to S转载 2009-04-29 17:00:00 · 6320 阅读 · 6 评论 -
在LINQ to SQL中使用Translate方法以及修改查询用SQL
目前LINQ to SQL的资料不多——老赵的意思是,目前能找到的资料都难以摆脱“官方用法”的“阴影”。LINQ to SQL最权威的资料自然是MSDN,但是MSDN中的文档说明和实例总是显得“大开大阖”,依旧有清晰的“官方”烙印——这简直是一定的。不过从按照过往的经验,在某些时候如果不按照微软划定的道道来走,可能就会发现别样的风景。老赵在最近的项目中使用了LINQ to SQL作为数据层的基础,转载 2009-04-29 16:55:00 · 826 阅读 · 0 评论 -
有了LINQ,我还需要写DAL层吗?
LINQ---Language Integrated Query 一般的,当你听说要执行查询操作的时候,首先会想到的是T-SQL语句查询数据库,或者XPath查询XML文档。而现在的呢?LINQ提供了一种通用的方式让你可以查询“所有”的数据信息源。LINQ的全称是Language Integrated Query. 它作为一种数据查询语言直接集成到了主流编程语言之中比如:C#3.0,VB9转载 2009-04-29 16:18:00 · 1404 阅读 · 0 评论 -
数据库表及字段命名、设计规范
1 数据库表及字段命名、设计规范 1.1 数据库表数据库表的命名规范: 表的前缀应该用系统或模块的英文名的缩写(全部大写或首字母大写)。如果系统功能简单,没有划分为模块,则可以以系统英文名称的缩写作为前缀,否则以各模块的英文名称缩写作为前缀。例如:如果有一个模块叫做BBS(缩写为BBS),那么你的数据库中的所有对象的名称都要加上这个前缀:BBS_ + 数转载 2008-06-27 14:27:00 · 2795 阅读 · 0 评论 -
教你在SQL Server数据库中拆分字符串函数
SQL Server数据库中拆分字符串函数的具体方法: CREATE FUNCTION uf_StrSplit 1.1.2.50,.(@origStr varchar(7000), --待拆分的字符串@markStr varchar(100)) --拆分标记,如,转载 2008-06-14 12:55:00 · 787 阅读 · 0 评论 -
在SQL Server中快速删除重复记录(多图)
文/夏翔 开发人员的噩梦——删除重复记录 想必每一位开发人员都有过类似的经历,在对数据库进行查询或统计的时候不时地会碰到由于表中存在重复的记录而导致查询和统计结果不准确。解决该问题的办法就是将这些重复的记录删除,只保留其中的一条。 在SQL Server中除了对拥有十几条记录的表进行人工删除外,实现删除重复记录一般都是写一段代码,用游标的方法一行一转载 2008-07-10 15:08:00 · 643 阅读 · 0 评论 -
15 个与日期时间相关的精典语句函数
[color=#0000ff]T-SQL: 15 个与日期时间相关的自定义函数(UDF),周日作为周的最后一天,均不受 @@DateFirst、语言版本影响都是从老文章里收集或提炼出来的!提示:(@@Datefirst + datepart(weekday,@Date)) % 7 判断周几是最保险的! 与 @@DateFirst 无关,与语言版本无关@@DateFirst 可能会导致 datepa原创 2008-05-05 12:05:00 · 674 阅读 · 0 评论 -
SQL Server 日期算法
一周的第一天select @@DATEFIRST一个月的第一天 select dateadd(mm,datediff(mm,0,getdate()),0)本周的星期一 select dateadd(wk,datediff(wk,0,getdate()),0)一年的第一天 SELECT DATEADD(yy, DATEDIFF(yy,0,getdate()), 0) 季度的第一天 SELECT DA转载 2008-05-05 12:05:00 · 568 阅读 · 0 评论 -
SQL Server支持的数据类型
数据类型 说明 BIGINT 从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(整数)。转载 2008-04-19 14:48:00 · 1236 阅读 · 0 评论 -
ASP存储过程使用大全
1,调用没有参数的存储过程set conn=server.CreateObject("adodb.connection")set cmd=server.CreateObject("adodb.command")strconn="dsn=pubs;uid=sa;pwd"conn.Open strconnset cmd.ActiveConnection=conncmd.CommandText=转载 2008-04-18 17:57:00 · 496 阅读 · 0 评论 -
SQLServer2005的事务处理
SqlServer2005是微软推出的企业级数据库开发平台,它不同于以往的SqlServer2000,在功能上,2005有了更强大的表现。我们在此来研究一下2005的事务处理。以下的代码是传统的2000的事务处理方法:create table demo( sid int primary key, sname varchar(10))go select转载 2008-04-16 09:17:00 · 914 阅读 · 0 评论 -
存储过程中的简单事务处理---SQLServer2005系列
一. 添加记录 需要事务支持,如果上下文环境中不存在事务,新启动一个事务,否则利用已存在的事务.-- =============================================-- Author: -- Create date: -- Description: -- =================================转载 2008-04-16 09:14:00 · 880 阅读 · 0 评论 -
如何建立索引?
CREATE INDEX 为给定表或视图创建索引。 只有表或视图的所有者才能为表创建索引。表或视图的所有者可以随时创建索引,无论表中是否有数据。可以通过指定限定的数据库名称,为另一个数据库中的表或视图创建索引。 语法 CREATE INDEX index_name ON { table |转载 2008-03-25 17:39:00 · 16242 阅读 · 0 评论