摘要:select datediff(d, ( select isnull( ( select v.VerifyDate from T_VerifySituation v where OrderId = 19116 and v.VerifyStatus= 1008 ),getdate())) ,...
阅读全文
随笔分类 - SQL 高级编程
摘要:select datediff(d, ( select isnull( ( select v.VerifyDate from T_VerifySituation v where OrderId = 19116 and v.VerifyStatus= 1008 ),getdate())) ,...
阅读全文
摘要:--延时的订单select t1.OrderIdorder1,t1.VerifyStatusIdid1,t1.VerifyDate'时间1', t2.OrderIdorder2,t2.VerifyStatusIdid2,t2.VerifyDate'时间2', t1.VerifyStatus'状态1'...
阅读全文
摘要:1、判断数据表是否存在 方法一:use yourdb;goif object_id(N'tablename',N'U') is not nullprint '存在'elseprint '不存在'例如:use fireweb;goif object_id(N'TEMP_TBL',N'U') is n...
阅读全文
摘要:sql语言中有没有类似C语言中的switch case的语句?? 没有,用case when 来代替就行了. 例如,下面的语句显示中文年月 select getdate() as 日期,case month(getdate()) when 11 then '十一' when 12 th...
阅读全文
摘要:SELECT ID,FORMNAME,NODENAME,SEQUENCE, NAME, STATE, NOWTIMES, WORK.FQREALNAME||'('||FQDEPT.FULLNAME||')' AS FQREALNAME, NVL2(WORK.BHREALNAME,WORK.BHR...
阅读全文
摘要:create table OA_WF_NODETEMP as select * from oa_wf_node where 1=2
阅读全文
摘要:SQL全站搜索create proc Full_Search(@string varchar(50)) as begin declare @tbname varchar(50) declare tbroy cursor for select name from sysobjects where xtype= 'u ' --第一个游标遍历所有的表 open tbroy fetch next from tbroy into @tbname while @@fetch_status=0 begin declare @colname varchar(50) declare colroy
阅读全文
摘要:select updatetime,NewComment,HistoryID,sum(1) over(partition by UpdateTime) from LPProjectHistoryorder by updatetime desc
阅读全文
摘要:if (object_id('proc_DeleteFile', 'P') is not null) drop proc proc_DeleteFilegocreate PROCEDURE proc_DeleteFile( @id nvarchar(40) , --删除的文件ID@pid nvarchar(40) ,--项目Id@comment nvarchar(3800) --想历史记录表插入数据) ASbeginBEGIN TRANSACTION--开始事务DECLARE @errorSun INT --定义错误计数器SET @errorSun=0 --没错
阅读全文
摘要:1、打开SQL Server Manager管理器,在左面找到 ‘安全性’ 单击右键 选择‘新建”-》“登录”, 如下图2、弹出对话框,在登录名中输入你的登录号,选择'SQLSERVER身份验证',并输入密码,可以把‘用户下次登录时必须修改密码’取消掉。如图:3、点击‘用户映射’,在右面选择要映射的数据库,并在前面打勾,在下面一栏中‘db-owner’和‘public’前面打勾。如下图:4、点击'状态',在右面栏中 选中"授予"、“启用”,这两项一般是默认的,但如果默认的不是此两项必须改过来,不然是连不上的!点击‘确定’。5、找到SQL服务器,在左栏中上面,单击右键,在弹出的菜
阅读全文
摘要:创建表之前判断表是否存在,如果存在则删除已有表在sqlserver中,创建表之前判断表是否存在,如果存在则删除已有表Sql代码 www.2cto.com ----SQL-Server if exists (select 1 from sysobjects where id = object_id('EMP') and type = 'U') drop table S_Evaluate go --CREATE Table: EMP create table EMP( Id numeric identity, -- 评估ID ...
阅读全文
摘要:1、开发数据库时常用命名规范 1>、使用不包含数字的单数表名,如果必要的话可以增加模块名前缀。 2>、对于主键的命名,使用表名+ID的形式。 3>、作为外键的列的名字应该与它们所对应的主键的列名相同,除非该外键维护的是一种自反/递归的关系。 4>、避免使用缩写。2、主键设计原则 1>、主键用途:惟一标识一行;作为一个可以被外部键有效引用的对象。 2>、主键应当对用户没有意义。 3>、主键应该是单列的,以便提高连接和筛选操作的效率。复合主键仅用于描述多对多关系的连接表中用两个外键来作为主键。 4>、永远不要更新主键。 5>、主键不应包含动态变
阅读全文
摘要:一﹕ 触发器是一种特殊的存储过程﹐它不能被显式地调用﹐而是在往表中插入记录﹑更新记录或者删除记录时被自动地激活。所以触发器可以用来实现对表实施复杂的完整性约`束。 二﹕ SQL Server为每个触发器都创建了两个专用表﹕Inserted表和Deleted表。这两个表。一﹕ 触发器是一种特殊的存储过程﹐它不能被显式地调用﹐而是在往表中插入记录﹑更新记录或者删除记录时被自动地激活。所以触发器可以用来实现对表实施复杂的完整性约`束。 二﹕ SQL Server为每个触发器都创建了两个专用表﹕Inserted表和Deleted表。这两个表由系统来维护﹐它们存在于内存中而不是在数据库中。这两个表的结.
阅读全文
摘要:SQL Server 触发器触发器是一种特殊类型的存储过程,它不同于之前的我们介绍的存储过程。触发器主要是通过事件进行触发被自动调用执行的。而存储过程可以通过存储过程的名称被调用。 Ø 什么是触发器 触发器对表进行插入、更新、删除的时候会自动执行的特殊存储过程。触发器一般用在check约束更加复杂的约束上面。触发器和普通的存储过程的区别是:触发器是当对某一个表进行操作。诸如:update、insert、delete这些操作的时候,系统会自动调用执行该表上对应的触发器。SQL Server 2005中触发器可以分为两类:DML触发器和DDL触发器,其中DDL触发器它们会影响多种数据定义
阅读全文
摘要:索引的重要性数据库性能优化中索引绝对是一个重量级的因素,可以说,索引使用不当,其它优化措施将毫无意义。聚簇索引(Clustered Index)和非聚簇索引 (Non- Clustered Index)最通俗的解释是:聚簇索引的顺序就是数据的物理存储顺序,而对非聚簇索引的索引顺序与数据物理排列顺序无关。举例来说,你翻到新华字典的汉字“爬”那一页就是P开头的部分,这就是物理存储顺序(聚簇索引);而不用你到目录,找到汉字“爬”所在的页码,然后根据页码找到这个字(非聚簇索引)。下表给出了何时使用聚簇索引与非聚簇索引:动作使用聚簇索引使用非聚簇索引列经常被分组排序应应返回某范围内的数据应不应一个或极.
阅读全文
摘要:对SQL Server数据表进行分区的过程分为三个步骤: 1)建立分区函数 2)建立分区方案 3)对表格进行分区 第一个步骤:建立分区函数 分区函数定义[u]how[/u],即你想要SQL Server如何对数据进行分区。这里就不以某一个表格作为例子,而是总体概括分割数据的技术。 分区是通过指定每个分区的分割界线实现的。例如,假定我们有一个Customers表格,里面包含了企业所有的客户的信息,客户信息以唯一的客户号进行辨识,客户号从1到1000000。我们可以运用以下的分区函数(这里称之为customer_Partfunc)把这个表格平均分为四个分区: CREATE PART...
阅读全文
摘要:USE HXXHHHDatabaseGO/****** Object: StoredProcedure [dbo].[PagerRecord] Script Date: 07/19/2011 20:19:28 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER PROCEDURE [dbo].[PagerRecord]@tblName varchar(255), -- 表名@strGetFields varchar(1000) = '*', -- 需要返回的列@pagenow int=1, ...
阅读全文
摘要:提要:我在 SQL Server 中新建用户登录时,出现了三种错误,错误代码分别是 18456、15128、4064----------------------------------- 正 文-----------------------------------一、实验环境Windows 7SQL Server 2008数据库实例名为 TestDB,新建的用户名为 testUser二、操作步骤1、打开 SQL Server Management Studio,以 Windows身份认证方式登录2、在对象资源管理器下,右键 Security ==> Logins ==> New L
阅读全文
摘要:update dbo.LeaveDocuments set DataDay = convert(float , (SELECT DATEDIFF(day, CreateTime , getdate()) AS no_of_daysFROM dbo.LeaveDocuments where LeaveID = 'ZYQJ2013030002')) where TaskID =188
阅读全文
摘要:Sql2008数据库转到sql2005这个问题耽误了一天时间,从网上找了好多方法,终于可以搞定了。现在把我收集的方法给大家分享一下。建议先使用第四个方法,可能是数据库太大了,前三个方法我的都没有成功,第四个方法虽然也有失败的,但总算转换过去了。解决方法一:脚本生成(笨方法)sql08导出的脚本在05下兼容性不行,执行的时候会报错。1、 点击“开始 > 程序 > Microsoft Sql Server 2008 > SQL Server Management Studio”2、 在出现的“连接到数据库服务器”对话框,服务器类型选“数据库引擎”,服务器名称选择本机的SQL Se
阅读全文
|