代码改变世界

随笔分类 -  MS_SQL

SQLSERVER时间函数

2011-07-12 13:49 by bingcaihuang, 617 阅读, 收藏, 编辑
摘要: 一、sqlserver日期时间函数SqlServer中的日期与时间函数1.当前系统日期、时间selectgetdate()2.dateadd在向指定日期加上一段时间的基础上,返回新的datetime值例如:向日期加上2天selectdateadd(day,2,'2004-10-15')--返回:2004-10-1700:00:00.0003.datediff返回跨两个指定日期的日期和时间边界数。selectdatediff(day,'2004-09-01','2004-09-18')--返回:174.datepart返回代表指定日期的指定日期部分 阅读全文

不同服务器数据库之间的数据操作

2011-07-01 10:01 by bingcaihuang, 198 阅读, 收藏, 编辑
摘要: --创建链接服务器exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 'exec sp_addlinkedsrvlogin 'ITSV ', 'false ',null, '用户名 ', '密码 '--查询示例select * from ITSV.数据库名.dbo.表名--导入示例select * into 表 from ITSV.数据库名.dbo.表名--以后不再使用时删除链接服务器exec 阅读全文

PowerDesigner反向工程操作步骤 及 SQLSTATE = 37000解决方案

2011-06-30 09:07 by bingcaihuang, 1379 阅读, 收藏, 编辑
摘要: PowerDesigner反向工程操作步骤1、打开“PowerDesigner”。2、新建一个空白物理数据模型。操作步骤:点击PowerDesigner菜单栏“File”==>“New”选择左侧“PhysicalDataModel”。在“Model name”输入新建模型的名称,在“DBMS”选择数据库类型,点击“确定”完成新建。3、新建数据库的数据源。操作步骤:以SQLServer2005为例,打开“控制面板”==>“管理工具”==>“数据源 (ODBC)”==>选择“系统DNS”选项卡==>点击“添加”按钮,选择“您想为其安装数据源的驱动程序”==>点击 阅读全文

sql server 2005 表结构 导出 到excel

2011-06-12 10:28 by bingcaihuang, 303 阅读, 收藏, 编辑
摘要: SELECT 表名 = case when a.colorder=1 then d.name else '' end, 表说明 = case when a.colorder=1 then isnull(f.value,'') else '' end, 字段序号 = a.colorder, 字段名 = a.name, 标识 = case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '√'else '' end, 主键 = case whe 阅读全文

DAO、RDO、ADO、OLE DB 、ODBC and JDB

2011-05-24 17:21 by bingcaihuang, 650 阅读, 收藏, 编辑
摘要: ADO---Active Data Objects,活动数据对象DAO---Data Access Objects,数据访问对象RDO---Remote Data Objects,远程数据对象ODBC---Open Database Connectivity,开放式数据库连接性DSN---Data Source Name,数据源名BDE---Borland Database Engine,Borland数据库引擎JET---Joint EngineTechnology,数据连接性引擎技术OLEDB---Objects Link Embed DataBase对象链接嵌入数据库ado的效率不是最佳 阅读全文

SQL server 自增列的使用

2011-05-24 17:08 by bingcaihuang, 1937 阅读, 收藏, 编辑
摘要: 一、标识列的定义以及特点SQL Server中的标识列又称标识符列,习惯上又叫自增列。该种列具有以下三种特点:1、列的数据类型为不带小数的数值类型2、在进行插入(Insert)操作时,该列的值是由系统按一定规律生成,不允许空值3、列值不重复,具有标识表中每一行的作用,每个表只能有一个标识列。由于以上特点,使得标识列在数据库的设计中得到广泛的使用。二、标识列的组成创建一个标识列,通常要指定三个内容:1、类型(type)在SQL Server 2000中,标识列类型必须是数值类型,如下:decimal、int、numeric、smallint、bigint 、tinyint其中要注意的是,当选择d 阅读全文

在SqlServer视图中小心使用*符号

2011-05-24 16:58 by bingcaihuang, 476 阅读, 收藏, 编辑
摘要: 在学校学习的过程中,老师降到全部字段的查询用*符号,可是做项目时,技术主管告诉我不要用*符号,当时不是很了解,后来看了下面的文章后才知道其中的原因。 在这里,使用的数据库是SqlServer2000自带的Northwind,这样方便大家自己私下里测试。首先,创建两个视图,视图的脚本如下:--视图 vCustomersAcreate view vCustomersAasselect CustomerID ,CompanyName,ContactName,ContactTitle,Address,City,Region,PostalCode,Country,Phone,Faxfrom dbo.Cu 阅读全文

SQl Server 建表SQL的脚本

2011-05-21 16:36 by bingcaihuang, 636 阅读, 收藏, 编辑
摘要: 数据库里新建一个表的方式比较多,可以在对象资源管理器手动新建一个表,这样的建表方式比较方便、直观。但是如果该表要在几个数据库(测试系统、正式系统等)里新建的话,这时反而不如用脚本来处理方便得多。尤其是在创建数据库时要新建上百个表时,那种方式想都不敢想。这里主要讨论、收集使用脚本来新建表的写法。如有不妥或不对的地方,希望大家多多指教,更正我的错误。下面来看看第一种SQL写法CREATETABLEUserContactPerson(IDINTPRIMARYKEY,UserIDINT,ContactPersonIDINT)(贴代码是格式错位了)这种写法是最原始、落后的。也是最容易产生错误的写法:首先 阅读全文

sql2005创建存储过程(需要注意的几点)

2011-05-21 16:34 by bingcaihuang, 448 阅读, 收藏, 编辑
摘要: sql2005创建存储过程(需要注意的几点)创建存储过程。存储过程是已保存的 Transact-SQL 语句集合,或对 Microsoft .NET Framework 公共语言运行时 (CLR) 方法的引用,可接收并返回用户提供的参数。可以创建过程供永久使用,或在一个会话(局部临时过程)中临时使用,或在所有会话(全局临时过程)中临时使用。启动 SQL Server 的一个实例时,也可以创建并自动运行存储过程。Transact-SQL 语法约定语法CREATE { PROC | PROCEDURE } [schema_name.] procedure_name [ ; number ] [ { 阅读全文

PowerDesigner逆向工程

2011-03-17 15:11 by bingcaihuang, 613 阅读, 收藏, 编辑
摘要: 记下Powerdesign逆向工程生成PDM模型,继而导出sql脚本。1.通过windows数据源管理,建立ODBC数据源;2.打开Windows的控制面板打开管理工具;3.选择你要操作的数据库类型;4.输入数据库参数,并测试连接;5.通过powerDesigner使用ODBC数据源,建立PowerDesigner的数据源,新建物理模型;6.选择数据库(DataBase)---连接(Connect);7.测试数据库连接;8.使用PowerDesigner进行逆向工程,选择 DataBase----Reverse Engineer Database,选好数据库点击确定;9.在这个界面注意数据库拥 阅读全文

在sql语句中的 type in (parem)的含义

2011-03-11 11:05 by bingcaihuang, 950 阅读, 收藏, 编辑
摘要: SQL-SERVER的每个数据库内都有此系统表,它存放该数据库内创建的所有对象,如约束、默认值、日志、规则、存储过程等,每个对象在表中占一行。以下是此系统表的字段名称和相关说明。type in ()的例子:type in (N'P', N'PC')type in (N'U')Name,id,xtype,uid,status:分别是对象名,对象ID,对象类型,所有者对象的用户ID,对象状态。对象类型(xtype)。可以是下列对象类型中的一种:type in (N'P', N'PC')type in (N'U& 阅读全文

用SQLCMD命令行工具执行SQL查询

2011-01-31 12:05 by bingcaihuang, 10962 阅读, 收藏, 编辑
摘要: 该命令运行在命令提示符下,且必须安装了SQLServer客户端工具。注意参数区分大小写。用法: Sqlcmd 参数 [-U 登录 ID] [-P 密码] [-S 服务器] [-H 主机名] [-E 可信连接] [-d 使用数据库名称] [-l 登录超时值] [-t 查询超时值] [-h 标题] [-s 列分隔符] [-w 屏幕宽度] [-a 数据包大小] [-e 回显输入] [-I 允许带引号的标识符] [-c 命令结束] [-L[c] 列出服务器[清除输出]] [-q "命令行查询"] [-Q "命令行查询" 并退出] [-m 错误级别] [-V 严重级别] [-W 删除尾随空格] [-u 阅读全文

关于sqlclient odbc oledb

2010-12-09 16:05 by bingcaihuang, 535 阅读, 收藏, 编辑
摘要: 今天链接数据库过程中逐渐对sqlclient odbc oledb有了一点了解,都是微软提供的链接数据库的库:SqlClient 优化sqlserver数据库的OleDb 当然包括基本所有数据库的Odbc 针对数据源odbcOracleClient 针对oracle数据库优化的 阅读全文

MS_SQL学习 户自定义数据类型

2010-12-09 09:31 by bingcaihuang, 436 阅读, 收藏, 编辑
摘要: 当创建用户自定义的数据类型时,必须提供 3个参数:数据类型的名称、所基于的系统数据类型和数据类型是否允许空值。创建用户定义的数据类型可以使用Transact-SQL语句。系统存储过程sp_addtype可用来1.创建用户定义的数据类型。其语法格式如下:sp_addtype {新数据类型名},[,系统数据类型][,'null_type']其中,新数据类型名是用户定义的数据类型的名称。系统数据类型是系统提供的数据类型,例如 Decimal、Int、Char 等。null_type表示该数据类型是如何处理空值的,必须使用单引号引起来,例如'NULL'、'NOT NULL'或者'NONULL'。2.删 阅读全文

MS_SQL学习 系统数据类型

2010-12-09 09:31 by bingcaihuang, 386 阅读, 收藏, 编辑
摘要: SQL Sever数据类型SQL Sever数据类型可以分为系统内置数据类型和用户自定义数据类型两种。系统数据类型数据类型由系统定义,这类数据类型通常称之为系统数据类型。(1)字数数据类型:Char,Varchar,TextChar是定长字符数据类型,其长度最多为8K,默认为1K。当表中的列定义为char(n)类型时,如果实际要存储的串长度不足 n,则在串的尾部添加空格,以达到长度n,所以其数据长度为n。Varchar是变长字符数据类型,其长度不超过8KB。当表中的列定义为 varchar(n)类型时,n表示的是字符串可达到的最大长度,varchar(n)的长度是输入的字符串实际字符个数,而不 阅读全文

存储过程基础

2010-12-03 09:12 by bingcaihuang, 235 阅读, 收藏, 编辑
摘要: --------------------------------------------------------------------------------1.创建存储过程create procedure 过程名 as 过程体例如:create procedure up_selectionBusnisess asselect title,pricefrom titleswhere type =... 阅读全文

SQL Server 2005和SQL Server 2000数据的相互导入

2010-12-02 09:48 by bingcaihuang, 301 阅读, 收藏, 编辑
摘要: 1) SQL Server 2000数据导入到SQL Server 2005中  好的是微软的产品一般都对之前的产品比较兼容,在SQL Server 2000中,只需要把其数据进行备份,在对应的数据库中点击右键,然后选择“所有任务”下的“备份数据库”,就弹出一个对话框,然后点击“添加”按钮,输入对应的数据库备份名称,就可以备份... 阅读全文

SQL触发器的一点心得

2010-12-02 09:47 by bingcaihuang, 784 阅读, 收藏, 编辑
摘要: 触发器(Trigger)是用户定义在关系表上的一类由事件驱动的特殊过程。一旦定义,任何用户对表的增、删、改操作均由服务器自动激活相应的触发器。它类似于约束,但是比约束更加灵活,并且可以实施比FOREIGN KEY(外键)约束、CHECK约束更为复杂的检查和操作,具有更精细和更强大的数据控制能力。下面是触发器一些特性:1、 表的创建者才可以在表上创建触发器,并且一个表上只能创建一定数量的触发器;2、... 阅读全文

查看所有表名、视图名、存储过程名、触发器名

2010-12-02 09:43 by bingcaihuang, 478 阅读, 收藏, 编辑
摘要: 有时我们需要查看一个数据库中所有的表名、视图名、存储过程名、触发器名以及各自的代码,可以在查询分析器里用简单的代码来查看一、查看所有表名: USE 数据库名 SELECT NAME FROM SYSOBJECTS WHERE XTYPE='U'二、查看所有视图名: USE 数据库名 SELECT NAME FROM SYSOBJECTS WHERE XTYPE='V'三、查看所有存储过程名: US... 阅读全文

SET ANSI_NULLS ON SET QUOTED_IDENTIFIER ON 什么意思 sql server 2005 2008

2010-12-02 09:43 by bingcaihuang, 239 阅读, 收藏, 编辑
摘要: 在sqlserver2005或SQL2008数据库项目中,创建视图或存储过程的时候往往有以下开头语句: SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGO………………………………GOSETANSI_N... 阅读全文