
数据库(SQL)
文章平均质量分 52
zhvsby
持之以恒,低调做人,认真做事,踏实前进,不要急功近利,万事先稳住,后思考再去做
展开
-
程序中如何使用代码执行Insert操作
using (SqlConnection conn = new SqlConnection(ConnString)) { string insertSql = string.Format("insert into training (trainingcode,trainingname,hours,remark) values ({0原创 2008-11-25 15:56:00 · 734 阅读 · 0 评论 -
动态Sql获取动态表数据
<br />转自 http://www.cnblogs.com/zhuisuo/archive/2010/11/23/1885623.html<br /> <br />if object_id('country') is not null<br /> drop table country <br />Go<br />Create Table country( id int null, name varchar(50) null)<br /><br />if object_id('Product') is n转载 2010-12-16 08:55:00 · 1960 阅读 · 0 评论 -
问题5 关于动态SQL查询
<br />问题描述:求一存储过程,取得指定表中最大的ID号,这里的表是参数<br />解答:<br />CREATE PROCEDURE SelectMax<br /> @max int output,<br /> @Tablename varchar(50)<br /> AS<br /> -- 注意,此处不能直接写成 exec('select @max = max(ID) from ' + @Tablename),因为变量不在同一个作用域<br /> exec('select max(ID) as re转载 2010-12-14 20:32:00 · 446 阅读 · 0 评论 -
查询优化问题一
<br />问题的原因比较清楚:<br />我其实是2个表关联查询:订单产品表(A)-->订单表(B)<br />其中A表中有350多万记录 B表中有15万记录<br />我的sql大概是这样<br />select * from (<br />select * from A a, B b<br />where<br />a.orderId=b.id<br />and b.f1 =1000 --- 查询条件<br /><br />and b.f2=2000 ---查询条件<br />order by a转载 2010-12-14 20:44:00 · 598 阅读 · 0 评论 -
关于索引
<br />最近客户使用系统时老是抱怨查询速度慢。于是上网查了查看到一篇基础贴,应该引起重视。<br />索引 是个好东西用好了方便千万家啊<br /> <br />索引时一个单独的、物理的数据库结构,是数据库的一个表中所包含的值的列表,其注明了表的各个值所在的存储位置。索引时依赖于表建立的,提供了编排表中数据的方法。<br /> 实际上,一个表的存储时由两个部分组成的,一部分用来存放表的数据页面,另一部分存放索引页面,索引就存放在索引页面上。通常,索引页面相对于数据页面来说小得多。当进行数据检索时,系统转载 2010-11-04 09:38:00 · 606 阅读 · 0 评论 -
COALESCE()函数
<br /><br /><br />---简介---<br />T-SQL的COALESCE()函数能够让你指定多个表达式,而且COALESCE()会返回组里第一个非空的值。要使用下面的形式,其中expression可以是任何数据类型,并能够等于大多数合法的表达式:<br />COALESCE (expression [,…n])--(与CASE函数等价)<br />CASE<br /> WHEN (expression1 IS NOT NULL) THEN expression1<br />原创 2010-11-04 15:09:00 · 752 阅读 · 0 评论 -
Sql语句创建表---约束
<br /> <br /> <br />create Table EmployeeInfo<br />(<br /> EmployeeID Varchar(10) constraint E1 primary key,<br /> EmployeeName Varchar(30) constraint E2 NOT NULL,<br /> SEX char(2) constraint E3 check (SEX in ('0','1')), ---0 BOY 1 Girl<br /> InCom原创 2010-11-09 09:22:00 · 783 阅读 · 0 评论 -
SCOPE_IDENTITY、IDENT_CURRENT 和 @@IDENTITY
<br />SQL Server 2000中,有三个比较类似的功能:他们分别是:SCOPE_IDENTITY、IDENT_CURRENT 和 @@IDENTITY,它们都返回插入到 IDENTITY 列中的值。<br />nbsp; ; IDENT_CURRENT 返回为任何会话和任何作用域中的特定表最后生成的标识值。IDENT_CURRENT 不受作用域和会话的限制,而受限于指定的表。IDENT_CURRENT 返回为任何会话和作用域中的特定表所生成的值。<br />@@IDENTITY 返回为当前会话的转载 2010-11-13 15:05:00 · 551 阅读 · 0 评论 -
动态sql语句基本语法
<br />1 :普通SQL语句可以用Exec执行 <br /><br />eg: Select*from tableName <br /> Exec('select * from tableName') <br /> Exec sp_executesql N'select * from tableName' -- 请注意字符串前一定要加N <br /><br />2:字段名,表名,数据库名之类作为变量时,必须用动态SQL <br /><br />eg: <br原创 2010-11-13 14:06:00 · 614 阅读 · 0 评论 -
把Access里的表数据全部映射到SS2005中对应的表中
<br />/*利用下列语句可以直接把Access里的表数据全部映射到SS2005中对应的表中<br />*/<br />exec sp_configure 'show advanced options',1<br />reconfigure<br />exec sp_configure 'Ad Hoc Distributed Queries',1<br />reconfigure<br />Go<br />delete from Table_Access_To_Sql_Test<br />Go <br原创 2010-11-18 10:50:00 · 622 阅读 · 0 评论 -
.NET和SQL Server中“空值”辨析 (DBNull与Null的区别)
初学数据库编程我们可能会有一些对“空值”的疑问,比如通过编程新建的一个表中所有数据皆显示为,手动添加并删除文字后又变成了空白;一个字符串类型的字段,明明没有填值,却不等于"";用ADO.NET从数据库中取值,每遇到有的就出错……这需要我们正确认识.NET和SQL Server中几原创 2010-11-10 15:19:00 · 5136 阅读 · 0 评论 -
SQLServer2005新增序列功能的几个函数:ROW_NUMBER, RANK, DENSE_RANK, and NTILE
SQLServer2005新增序列功能的几个函数:ROW_NUMBER, RANK, DENSE_RANK, and NTILE1 ROW_NUMBER SELECT ProductID, Name, Price, ROW_NUM转载 2010-10-30 22:54:00 · 646 阅读 · 0 评论 -
如何 控制传入的参数减少存储过程的代码量
<br />-----新建一个表<br />create table TA <br />(Pur_No varchar(13),<br /> pur_Name varchar(40),<br /> remark varchar(8000)<br />)<br /> <br />------------------------<br />插入数据<br />insert into TA<br />select 'PPA1000000001','Good1','Good1'<br />union all<b原创 2010-12-15 18:40:00 · 519 阅读 · 0 评论 -
SQL Server2000中死锁经验总结
将死锁减至最少虽然不能完全避免死锁,但可以使死锁的数量减至最少。将死锁减至最少可以增加事务的吞吐量并减少系统开销,因为只有很少的事务: 回滚,而回滚会取消事务执行的所有工作。 由于死锁时回滚而由应用程序重新提交。 下列方法有助于最大限度地降低死锁: 按同一顺序访问对象。 避免事务中的用户交互。 保持事务简短并在一个批处理中。 使用低隔离级别。 使用绑定连接。 按同一顺序访问对象如果所有并发事务按同一顺序访问对象,则发生死锁的可能性会降低。例如,如果转载 2010-10-22 18:31:00 · 376 阅读 · 0 评论 -
存储过程/SQL中参数传入传出的写法
string connstr = "Data Source = localhost; Initial Catalog = NorthWind; User ID = sa; Password = sapass"; SqlConnection conn = new SqlConnection(ConnString); SqlCommand原创 2008-11-25 16:07:00 · 2694 阅读 · 0 评论 -
利用AppConfig文件连接数据库的常用操作
connectionStrings> name="NorthwindConnection" connectionString="server=(local);uid=TestUser;pwd=123456;Trusted_Connection=no;database=Northwind" providerName="System.Data.SqlClient" />原创 2008-11-25 16:19:00 · 3994 阅读 · 1 评论 -
查找第N行数据
假设id是主键:select *from (select top xxx * from yourtable) aawhere not exists(select 1 from (select top xxx-1 * from yourtable) bb where aa.id=bb.id) 利用上述语句就可以求出数据库中的第N条数据其实很简单 它是先把前N条求出来 然后把前N-1条原创 2008-11-25 22:32:00 · 755 阅读 · 0 评论 -
关于外连接的条件陷阱
sutdent: 姓名班级张三一班李四二班score: 姓名科目分数张三语文80张三数学90李四数学100如下语句:select a.[姓名] ,a.[班级] ,b.[科目] ,b.[分数]from student a left转载 2008-11-26 11:47:00 · 865 阅读 · 0 评论 -
SQL常用语句
1: 列出数据库里的所有的表名 Select name From Sysobjects where type=u2: 随机选出5条数据 Select top 5 * From testTable order by newid();原创 2008-12-02 13:42:00 · 624 阅读 · 0 评论 -
WAITFOR (Transact-SQL)
<br />在达到指定时间或时间间隔之前,或者指定语句至少修改或返回一行之前,阻止执行批处理、存储过程或事务。<br /> <br />注释<br />执行 WAITFOR 语句时,事务正在运行,并且其他请求不能在同一事务下运行。<br />实际的时间延迟可能与 time_to_pass、time_to_execute 或 timeout 中指定的时间不同,它依赖于服务器的活动级别。时间计数器在计划完与 WAITFOR 语句关联的线程后启动。如果服务器忙碌,则可能不会立即计划线程;因此,时间延迟可能比指定的原创 2010-10-09 13:52:00 · 715 阅读 · 0 评论 -
各种sql语句大集合)
<br />*******************Transact_SQL******************** --语 句 功 能 --数据操作 SELECT --从数据库表中检索数据行和列 INSERT --向数据库表添加新数据行 DELETE --从数据库表中删除数据行 UPDATE --更新数据库表中的数据 --数据定义 CREATE TABLE --创建一个数据库表 DROP TABLE --从数据库中删除表 ALTER TABLE --修改数据库表结构 CREATE VIEW --创建一个视图原创 2010-10-09 14:31:00 · 490 阅读 · 0 评论 -
Integrated Security
<br />如下一段app.config文件<br />//该文件用来设置连接数据库字符串<configuration><br /><connectionStrings> <br /> <add name="Pubs" connectionString="Server=localhost;User ID=dot-well;Password=dot-well.com;Integrated Security=True;Database=pubs;" providerName="System.Data.Sql原创 2010-10-15 11:36:00 · 3530 阅读 · 0 评论 -
[总结]SqlServer中如何实现自动备份数据! 转
http://dcbjavaeye.javaeye.com/blog/249829<br />第1种方法:<br /><br />企业管理器<br /> --管理<br /> --右键数据库维护计划<br /> --新建维护计划<br /> --<下一步><br /> --选择你要备份的数据库<br /> --<下一步>直到"指定数据库备份计划"这项<br /> --指定存储备份文件的位置,这里根据需要选择备分到磁带还是磁盘<br /> --单击调度后面的"更改"按纽<br /> --定义原创 2010-10-15 08:54:00 · 566 阅读 · 0 评论 -
【转】ADO.NET对数据库操作经典类
<br />http://www.cnblogs.com/xianspace/archive/2009/03/28/1424199.html<br />using System;<br />using System.Collections;<br />using System.Collections.Specialized;<br />using System.Runtime.Remoting.Messaging;<br />using System.Data;<br />using System.Data转载 2010-10-15 12:15:00 · 456 阅读 · 0 评论 -
left outer join 的真谛
<br />use dbtest<br />if not object_id('T_Head') is null<br /> drop table T_Head<br />create table T_Head<br />( col01 varchar(100),<br /> col02 varchar(100),<br /> col03 varchar(100),<br /> ColA varchar(100) <br />)<br />insert into T_Head <br />se原创 2010-12-02 20:12:00 · 386 阅读 · 0 评论 -
ADO.NET 2.0中的DataSet和DataTable
原文链接:http://msdn.microsoft.com/msdnmag/issues/05/11/DataPoints/default.aspxhttp://www.cnblogs.com/wayfarer/archive/2005/10/21/259114.html转载 2010-10-16 14:31:00 · 483 阅读 · 0 评论