
MSSQL数据库
fox123871
这个作者很懒,什么都没留下…
展开
-
在T-SQL语句中访问远程数据库(openrowset/opendatasource/openquery)
1、启用Ad Hoc Distributed Queries在使用openrowset/opendatasource前搜先要启用Ad Hoc Distributed Queries服务,因为这个服务不安全所以SqlServer默认是关闭的启用Ad Hoc Distributed Queries的方法SQL Server 阻止了对组件 'Ad Hoc Distributed转载 2014-07-09 14:58:15 · 781 阅读 · 0 评论 -
关于MSSQL的decimal(numeric)、money、float的使用以及区别
decimal(numeric)、money、float(real) 都是MSSQL中的浮点类型的数据类型。按存储的范围进行排序float(real)decimal(numeric)money 在金额的存储上可以优先money,如果金额过大采用decimal(numeric),极端的情况(数据超大)使用float(real) money与float不会自动默认小数点原创 2012-06-15 17:51:12 · 18830 阅读 · 0 评论 -
binary,varbinary,image的区别
binary固定长度的二进制数据,其最大长度为 8,000 个字节。varbinary可变长度的二进制数据,其最大长度为 8,000 个字节。image可变长度的二进制数据,其最大长度为 2^31 - 1 (2,147,483,647) 个字节在 Microsoft SQL Server 的未来版本中将删除 ntext、text 和 image 数据原创 2012-06-15 17:18:11 · 8493 阅读 · 2 评论 -
newid()和newsequentialid() 的区别
1.:newsequentialid 函数比起 newid 函数最大的好处是:如果你在一个 UNIQUEIDENTIFIER 字段上建立索引,使用 newid 产生的新的值是不固定的,所以新的值导致索引B+树的变化是随机的。而 newsequentialid 产生的新的值是有规律的,则索引B+树的变化是有规律的。有规律和无规律就会带来性能的改进。 2:UNIQUEIDENTIFIER做主键转载 2012-06-06 10:29:34 · 1248 阅读 · 0 评论 -
TRY…CATCH…通用格式
USE DorbenGOBEGIN TRY -- Generate a divide-by-zero error. SELECT 1/0;END TRYBEGIN CATCH SELECT ERROR_NUMBER() AS ErrorNumber, ERROR_SEVERITY() AS Err原创 2012-04-26 16:42:00 · 873 阅读 · 0 评论 -
SQL2008:如何解决“阻止保存要求重新创建表的更改”
当用户在在SQL Server 2008企业管理器中更改表结构时,必须要先删除原来的表,然后重新创建新表,才能完成表的更改,如果强行更改会出现以下提示:不允许保存更改。您所做的更改要求删除并重新创建以下表。您对无法重新创建的标进行了更改或者启用了“阻止保存要求重新创建表的更改”选项。如果要去掉此提示,可从“工具”菜单中选择“选项”,在“选项”对话框中,选择Designers,选择“表设计器和数据库原创 2012-03-20 10:57:58 · 610 阅读 · 0 评论 -
发布图片专用
原创 2012-02-08 15:31:30 · 673 阅读 · 0 评论 -
MSSQL ASCII字符说明
可以直接用语句查 select char(9) ,char(10), char(13) 查出来全是空白~那就查ASCII表吧~char(9) 水平制表符char(10)换行键char(13)回车键这是百度百科的ASCII表的图片可以收藏查看http://imgsrc.baidu.com/baike/pic/item/f6428f8f7c5d36e9503d9262.jpg原创 2012-01-12 10:24:35 · 1382 阅读 · 0 评论 -
sp_executesql 参数应用实例
输入或输出参数 (1)输入参数: declare @QueryString nvarchar(1000) --动态查询语句变量(注:必须为ntext或nchar哐nvarchar类型,不能是varchar类型) declare @paramstring nvarchar(200) --设置动态语句中的参数的字符串(注:转载 2011-12-16 18:04:14 · 880 阅读 · 0 评论 -
详细讲解提高数据库查询效率的实用方法、外键关于性能【转】
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:select id f转载 2011-11-02 16:45:06 · 760 阅读 · 0 评论 -
MSSQL 将人名解析成拼音的SQL函数
1.第一个函数是取得姓名每个中文汉字的第一个字母CREATE FUNCTION f_GetPY(@str nvarchar(4000))RETURNS nvarchar(4000)ASBEGIN DECLARE @py TABLE( ch char(1), hz1 nchar(1) COLLATE Chinese_PRC_CS_AS_KS_WS, hz2 nc原创 2011-10-29 00:16:39 · 906 阅读 · 0 评论 -
MSSQL获取日期的各种格式与各个部分
在本文中,GetDate()获得的日期由两部分组成,分别是今天的日期和当时的时间: Select GetDate() 用DateName()就可以获得相应的年、月、日,然后再把它们连接起来就可以了:年 月 日部分还可以用过year(getdate()) 、month(getdate()) 、day(getdate()) 去获取。 Select Datename(year,GetDa原创 2011-08-09 11:23:29 · 10580 阅读 · 0 评论 -
MSSQL临时表与内存表的区别
区别一:CREATE table #T (s varchar(128))DECLARE @T table (s varchar(128))INSERT into #T select 'old value #'INSERT into @T select 'old value @'BEGIN transaction UPDATE #T set s='new value #'原创 2012-08-27 11:04:29 · 13835 阅读 · 0 评论 -
SQL2005发邮件的配置
SQL Server 并没有内置邮件服务器(Mail Server),它跟我们发送邮件一样,需要用户名和密码通过 SMTP(Simple Message Transfer Protocol)去连接邮件服务器。我们想让 SQL Server 来发送邮件,首先要告诉它用户名称,密码,服务器地址,网络传送协议,邮件服务器的端口。。。等信息。 以下脚本实现了数据库邮件的配置:--下面是具体的配置转载 2012-10-16 17:38:04 · 863 阅读 · 0 评论 -
表变量和临时表的比较
关于表变量是什么(和表变量不是什么),以及和临时表的比较让很多人非常困惑。虽然网上已经有了很多关于它们的文章,但我并没有发现一篇比较全面的。在本篇文章中,我们将探索表变量和临时表是什么(以及不是什么),然后我们通过使用临时表和表变量对其解密。 表变量 表变量在SQL Server 2000中首次被引入,那么,什么是表变量呢?微软在BOL (Declare @local_varia转载 2014-06-07 11:48:59 · 716 阅读 · 0 评论 -
SQL自定义函数与存储过程
存储过程:存储过程可以使得对数据库的管理、以及显示关于数据库及其用户信息的工作容易得多。存储过程是 SQL语句和可选控制流语句的预编译集合,以一个名称存储并作为一个单元处理。存储过程存储在数据库内,可由应用程序通过一个调用执行,而且允许用户声明变量、有条件执行以及其它强大的编程功能。存储过程可包含程序流、逻辑以及对数据库的查询。它们可以接受参数、输出参数、返回单个或多个结果集以及返回值原创 2014-06-07 10:26:54 · 1565 阅读 · 0 评论 -
CMS中的回车体会成br
替换SQL字段中的换行符,回车符:在富文本内容中通常会出现回车、换行内容。在sql数据库中这些回车、换行符,输出html后,表现为空格。这里是在数据导出、导入中发现的,通常把回车、换行符找出来,用替换。 这里使用了,sql 函数。replace(string_expression , string_pattern , string_replacement),第一个参数:要查找的字段原创 2014-05-20 15:05:33 · 878 阅读 · 0 评论 -
SQL Server中Text和varchar(max) 区别
以前只知道text和image是可能被SQL Server淘汰的数据类型,但具体原因不太清楚,今天读书的时候发现了text与varchar(max)和nvarchar(max)的区别,主要是对操作符的限制,text只能被下列函数作用: 函数语句DATALENGTHREADTEXTPATINDEXSET TEXTSI原创 2014-05-11 23:58:04 · 35073 阅读 · 0 评论 -
SQL Server2008常用函数
SQL2008 表达式:是常量、变量、列或函数等与运算符的任意组合。1. 字符串函数函数 名称 参数 示例 说明ascii(字符串表达式)select ascii('abc') 返回 97返回字符串中最左侧的字符的ASCII 码。char(整数表达式)select char(100) 返回 d把ASCII 码转换为字符。介于0 和 255 之间的整数。如果该整数原创 2014-05-11 23:28:53 · 716 阅读 · 0 评论 -
SQL中char、varchar、nvarchar的区别
char char是定长的,也就是当你输入的字符小于你指定的数目时,char(8),你输入的字符小于8时,它会再后面补空值。当你输入的字符大于指定的数时,它会截取超出的字符。 nvarchar(n) 包含 n 个字符的可变长度 Unicode 字符数据。n 的值必须介于 1 与 4,000 之间。字节的存储大小是所输入字符个数的两倍。所输入的数据字符长度可以为零。转载 2013-03-28 16:16:39 · 692 阅读 · 0 评论 -
【利用OpenDataSource、OPENROWSET进行分布式查询和数据的导入导出】
利用OpenDataSource、OPENROWSET进行分布式查询和数据的导入导出ps:此文转自他人资料 OpenDataSource:一:SQL SERVER 和ACESS的数据导入导出1.在SQL SERVER里查询access数据:-- ======================================================SELECT *转载 2013-01-10 10:37:54 · 818 阅读 · 0 评论 -
SQL 取分组后前三条数据
CREATE TABLE TestSerialNumber( id int identity(1000,1) primary key, name varchar(20), code as LEFT(CONVERT(VARCHAR,GETDATE(),120),10)+'-'+CAST(id AS VARCHAR))INSERT INTO TestSerialNumber原创 2013-01-09 11:07:08 · 4219 阅读 · 0 评论 -
SQL SERVER2005发送邮件
key:sql server 2005 邮件sp_configure 'show advanced options', 1;GORECONFIGURE;GOsp_configure 'Database Mail XPs', 1;GORECONFIGUREGO一:http://sqlserver2005.itpub.net/post/22359/210413转载 2012-10-16 16:24:12 · 1093 阅读 · 0 评论 -
SQL Server Job运行成功或失败时发送电子邮件通知
虽然我们可以通过Job日志来查看SQL Server Job运行成功或是失败,但是人工主动去查没有及时性,也不智能化。下面简单介绍一下如何设置SQL Server的邮件通知,让Job完成后,自动发送状态邮件。SQL Server 2005的设置如下: 1.运行SQL Server Surface Area Configuration->Surface Area Configuratio转载 2012-10-18 15:00:53 · 5797 阅读 · 0 评论 -
sqlserver waitfor time 延迟函数的用法
SQL有定时执行的语句 WaitFor,可以写到一个存储过程中再执行一次语法:WaitFor{Delay 'time'|Time 'time}Delay后面的时间为延迟多少时间执行Time后面的时间为指定何时执行,格式为"HH:MM:SS",不支持日期例:------指定10:00执行Beginwaitfor time '10:00'select * from ta原创 2012-10-17 10:55:37 · 22871 阅读 · 0 评论 -
varchar和Nvarchar区别
答:varchar(n)长度为 n 个字节的可变长度且非 Unicode 的字符数据。n 必须是一个介于 1 和 8,000 之间的数值。存储大小为输入数据的字节的实际长度,而不是 n 个字节。nvarchar(n)包含 n 个字符的可变长度 Unicode原创 2011-10-19 14:57:54 · 693 阅读 · 0 评论 -
数据库开发管理总结
SQL Server 数据格式修改时,没有保存按钮的情况解决如果你使用的是 SQL Server 2008, 当你修改数据结构后,保存时会报下图情况:这是 SQL Server 2008 的一种自我保护,当你的修改可能导致数据表被删除并重新创建时(dropped an原创 2011-10-18 10:28:56 · 925 阅读 · 0 评论 -
sql去空格
去空格函数有如下两种:·LTRIM()LTRIM() 函数把字符串头部的空格去掉,其语法如下:LTRIM ()·RTRIM()RTRIM() 函数把字符串尾部的空格去掉,其语法如下:RTRIM ()/////////////////////////原创 2011-10-18 10:43:18 · 3488 阅读 · 0 评论 -
利用XML FOR PATH 合并分组信息
-- ================================================-- Description:合并分组内容-- Author:夏保华-- Date:2009-08-06-- ==========================原创 2011-08-03 11:27:26 · 3210 阅读 · 0 评论 -
使用Guid做主键和int做主键性能比较
在数据库的设计中我们常常用Guid或int来做主键,根据所学的知识一直感觉int做主键效率要高,但没有做仔细的测试无法说明道理。碰巧今天在数据库的优化过程中,遇到此问题,于是做了一下测试。 测试环境: 台式电脑 Pentiun(R) 4 Cpu 3.06GHz Win XP professional 1.5G DDR RAM SQL Server 2005 个人版原创 2011-07-01 10:48:00 · 17920 阅读 · 7 评论 -
文件自动增长和自动收缩sql server
1.4 文件自动增长和自动收缩SQL Server允许用户设置数据库初始值、最大值,可以自动增长或者自动收缩。通过这些设置,可以防止数据库空间问题而导致的应用程序修改失败或者SQL Server把硬盘空间耗尽之类的事情发生。一般来讲,如果数据库不是很繁忙,默认的设置(开启自动增长)能够满足大部分的需求。但是数据文件和日志文件增长本身是一件耗费系统资源和影响性能的工作。所以如果完全依赖SQL原创 2011-06-10 13:41:00 · 6377 阅读 · 0 评论 -
SQL发送邮件
SQL Server 并没有内置邮件服务器(Mail Server),它跟我们发送邮件一样,需要用户名和密码通过 SMTP(Simple Message Transfer Protocol)去连接邮件服务器。我们想让 SQL Server 来发送邮件,首先要告诉它用户名称,密码,服务器地址,网络传送协议,邮件服务器的端口。。。等信息。 以下脚本实现了数据库邮件的配置: --下面是具体的原创 2011-06-08 16:23:00 · 4791 阅读 · 0 评论 -
T-SQL with关键字
Select字句在逻辑上是SQL语句最后进行处理的最后一步,所以,以下查询会发生错误:SELECT YEAR(OrderDate) AS OrderYear, COUNT(DISTINCT CustomerID) AS NumCustsFROM dbo.OrdersGROUP BY OrderYear;因为group by是在Select之前进行的,那个时候or原创 2011-06-08 15:57:00 · 525 阅读 · 0 评论 -
导入/导出Excel
--从Excel文件中,导入数据到SQL数据库中,很简单,直接用下面的语句:/*===================================================================*/--如果接受数据导入的表已经存在insert into 表 select * from OPENROWSET(MICROSOFT.JET.OLEDB.4.0,Excel 5.0转载 2011-06-07 11:34:00 · 536 阅读 · 0 评论 -
在视图上建立触发器的方法详解
http://www.cnblogs.com/binbin1845/archive/2008/03/14/1106054.html对视图建立触发器,SQL Server 2000提供了instead of 方法,可以对原触发行为进行改写。这里以一个简单的例子来说明使用对视图建立触发器的方法:1. 创建两个Table (假设id唯一) create table test1(id varchar(50), name varchar(50)) create table test2(id varchar原创 2011-05-31 17:30:00 · 25594 阅读 · 1 评论 -
SQL Server 2008中的MERGE(不仅仅是合并)
<br />OK,就像标题呈现的一样,SQL Server 2008中的MERGE语句能做很多事情,它的功能是根据源表对目标表执行插入、更新或删除操作。最典型的应用就是进行两个表的同步。<br />下面通过一个简单示例来演示MERGE语句的使用方法,假设数据库中有两个表Product及ProductNew,我们的任务是将Product的数据同步到ProductNew(当然同步可能是每天通过Job来自动完成的,在此我们只关注MERGE的使用)。<br />以下SQL创建示例表:<br />--源表 <br /原创 2011-05-27 11:36:00 · 612 阅读 · 0 评论 -
SQL触发器实例讲解
SQL触发器实例1定义: 何为触发器?在SQL Server里面也就是对某一个表的一定的操作,触发某种条件,从而执行的一段程序。触发器是一个特殊的存储过程。 常见的触发器有三种:分别应用于Insert , Update , Delete 事件。 我为什么要使用触发器?比如,这么两个表: Create Table Student( --学生表 StudentID int primary key, --学号 ....原创 2011-05-26 12:26:00 · 657 阅读 · 0 评论 -
触发器入门基础-触发器学习01
触发器 触发器(trigger)是个特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由个事件来触发,比如当对一个表进行操作( insert,delete, update)时就会激活它执行。触发器经常用于加强数据的完整性约束和业务规则等。 触发器可以从 DBA_TRIGGERS ,USER_TRIGGERS 数据字典中查到。 触发器可以查询其他表,而且可以包含复杂的 SQL 语句。它们主要用于强制服从复杂的业务规则或要求。例如,您可以根据客户当前的帐户状态,控制是否允许插入新订单。 触发器也可用于原创 2011-05-26 15:36:00 · 661 阅读 · 0 评论 -
MSSQL设计主键类型
在SQLServer环境下,表的主键应该怎样设计.目前主要用到的主键方案共三种自动增长主键手动增长主键UNIQUEIDENTIFIER主键1、先说自动增长主键,它的优点是简单,类型支持bigint.但是它有致命的弱点:当我们需要在多个数据库间进行数据的复制原创 2011-09-07 10:15:55 · 3607 阅读 · 0 评论 -
获取sql所有存储过程脚本,获取sql表名,视图名,存储过程名,列名等
网上收集出来的,部分内容有可能有问题。需要自己分析哪些为正确的,不过大部分没问题!。【1】方式: 可以查询存储过程的脚本:select * from syscomments可以查询表名,视图名,存储过程名等select *原创 2011-08-22 17:58:10 · 5306 阅读 · 0 评论