孤独的猫

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

随笔分类 -  SQL

1 2 3 下一页

摘要:最新的VS2012中就有数据库架构比较这个工具,并且比较后可以生成更新脚本 阅读全文
posted @ 2014-10-14 17:22 孤独的猫 阅读(6747) 评论(0) 推荐(3)

摘要:C#可以为SQL SERVER 2008添加触发器,步骤为在C#中,选择"新建项目"->"数据库"->"SQL Server"->"Visual C# SQL CLR 数据库"在项目中,单击右键选择"添加"->"触发器",代码如下(ValidateYear.cs): 1 using System; 2 using System.Data; 3 using System.Data.SqlClient; 4 using Microsoft.SqlServe 阅读全文
posted @ 2012-12-06 21:11 孤独的猫 阅读(864) 评论(0) 推荐(0)

摘要:在C#中,选择"新建项目"->"数据库"->"SQL Server"->"Visual C# SQL CLR 数据库"在项目中,单击右键选择"添加"->"存储过程",代码如下(SalesCrossTabs.cs): 1 using System; 2 using System.Data; 3 using System.Data.SqlClient; 4 using System.Data.SqlTypes; 5 using Microsoft.SqlS 阅读全文
posted @ 2012-12-06 20:33 孤独的猫 阅读(405) 评论(0) 推荐(0)

摘要:下面实现一个去掉最大值和最小值之后的平均值函数:单击项目右键,在弹出菜单中选择"添加"->"聚合",取名为TrimmedMean.cs,代码如下: 1 using System; 2 using System.Data; 3 using System.Data.SqlClient; 4 using System.Data.SqlTypes; 5 using Microsoft.SqlServer.Server; 6 7 8 [Serializable] 9 [Microsoft.SqlServer.Server.SqlUserDefinedAggr 阅读全文
posted @ 2012-12-06 20:27 孤独的猫 阅读(943) 评论(0) 推荐(0)

摘要:下面用C#2010定义一个函数,供SQL SERVER 2008使用:下面是压缩函数 1 using System.Data.SqlClient; 2 using System.Data.SqlTypes; 3 using Microsoft.SqlServer.Server; 4 using System.Collections; 5 6 public partial class UserDefinedFunctions 7 { 8 [Microsoft.SqlServer.Server.SqlFunction( 9 DataAccess=DataAccessKin... 阅读全文
posted @ 2012-12-06 20:13 孤独的猫 阅读(644) 评论(0) 推荐(0)

摘要:摘自:http://blog.csdn.net/zhzuo/article/details/4212982用C#和SQLCLR编写SQL Server用户定义函数 发布日期:2009-05-24作者:郑佐摘要: 文档阐述使用C#和SQLCLR为SQL Server编写用户定义函数,并演示用户定义函数在T-SQL中的应用。文档中实现的 Base64 编码解码函数和正则表达式函数属于标量值函数,字符串分割函数属于表值函数,而平方平均数函数属于聚合函数。环境 要求:SQL Server 2005/2008,Visual Studio 2005/2008,C# 2.0。本页内容 概述 启用SQLCLR 阅读全文
posted @ 2012-12-03 16:52 孤独的猫 阅读(354) 评论(0) 推荐(0)

摘要:转自:http://blog.csdn.net/hillspring/article/details/2304900 通常,开发人员使用的是T-SQL来创建SQL Server的存储过程、函数和触发器。 而现在的SQL Server 2005已经完全支持.NET通用语言运行时(CLR)了。 这就意味着,你可以使用.NET的语言,如C#、VB.NET之类的来开发SQL Server的存储过程、函数和触发器。 SQL Server 和 CLR 的集成给我们带来了n多好处,如实时编译、类型安全、增强的安全性以及增强的编程模型等。 本文中,我将向大家演示如何使用C#创建SQL Server的存储过程。 阅读全文
posted @ 2012-12-03 16:48 孤独的猫 阅读(386) 评论(0) 推荐(0)

摘要:SQL Server 2005中,FOR XML 功能新增了根元素和元素名称的新选项,增强了嵌套ËǶÌ× FOR调用的能力,因此可以构建复杂的层次结构,新增的Ä PATH模式允许定义使用ʹÓà Xp语法进行检索的 XML 结构,如下面的示例所示Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->。¾SELECT ProductID A 阅读全文
posted @ 2012-12-03 16:00 孤独的猫 阅读(3158) 评论(0) 推荐(1)

摘要:1 CREATE proc spGenInsertSQL (@tablename varchar(256)) 2 as 3 begin 4 declare @sql varchar(8000) 5 declare @sqlValues varchar(8000) 6 set @sql =' (' 7 set @sqlValues = 'values (''+' 8 select @sqlValues = @sqlValues + cols + ' + '','' + ' ,@sql = @sql + 阅读全文
posted @ 2012-11-30 16:24 孤独的猫 阅读(584) 评论(0) 推荐(0)

摘要:摘自:http://blog.csdn.net/keenweiwei/article/details/6859490 1 SELECT 2 C.name as [字段名],T.name as [字段类型] 3 ,convert(bit,C.IsNullable) as [可否为空] 4 ,convert(bit,case when exists(SELECT 1 FROM sysobjects where xtype='PK' and parent_obj=c.id and name in ( 5 SELECT name FROM sysind... 阅读全文
posted @ 2012-11-30 15:29 孤独的猫 阅读(2604) 评论(0) 推荐(0)

摘要: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 阅读全文
posted @ 2012-11-30 15:22 孤独的猫 阅读(408) 评论(0) 推荐(0)

摘要:我们以前可以直接访问系统表,如下所示:SELECT so.name As theTable, sc.name As theColumn, st.name As theTypeFROM sysobjects soJOIN syscolumns sc on so.id=sc.idJOIN systypes st on sc.xtype=st.xtype WHERE SO.type='U'实际上,微软不建议直接访问系统表。所以微软使用了一些系统视图代替直接操作系统表,为了实现上面相同的功能,我们可以用下面访问元数据视图的方式改变:SELECT t.na... 阅读全文
posted @ 2012-11-16 21:03 孤独的猫 阅读(673) 评论(0) 推荐(1)

摘要:我们知道有个 SQL Server 2000 中有个 cross join 是用于交叉联接的。实际上增加 cross apply 和 outer apply 是用于交叉联接表值函数(返回表结果集的函数)的, 更重要的是这个函数的参数是另一个表中的字段。这个解释可能有些含混不请,请看下面的例子: -- 1. cross join 联接两个表select* from TABLE_1 as T1crossjoin TABLE_2 as T2-- 2. cross join 联接表和表值函数,表值函数的参数是个“常量”select* from TABLE_1 T1crossjoin FN_TableV 阅读全文
posted @ 2012-11-16 20:50 孤独的猫 阅读(504) 评论(0) 推荐(0)

摘要:摘自:http://blog.csdn.net/htl258/article/details/5525814---------------------------------------------------------------------------- Author : htl258(Tony)-- Date : 2010-04-25 01:10:28-- Version:Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (Intel X86)-- Jul 9 2008 14:43:38-- Copyright (c) 1988-2008 M 阅读全文
posted @ 2012-11-15 23:04 孤独的猫 阅读(275) 评论(0) 推荐(0)

摘要:在以前的SQL SERVER中,存储过程和自定义函数只允许传递标量参数。SQL SERVER 2008中允许定义自定义表类型,并传递给存储过程或自定义函数。CREATE TABLE Inventory(product_id int PRIMARY KEY,product_name varchar(50) NOT NULL,quantity int DEFAULT(0))GOINSERT INTO Inventory VALUES(1,'Meta flavored dog shampoo',150)INSERT INTO Inventory VALUES(2,'Gener 阅读全文
posted @ 2012-11-15 22:54 孤独的猫 阅读(1033) 评论(0) 推荐(0)

摘要:在SQL SERVER 2008中引入了一个新的类型,为hierarchyid,支持层次结构,hierarchyid从技术上讲是一个CLR UDT,但是在SQL SERVER 2008不必先启用它。考虑下面的层次结构可以用如下SQL语句表示CREATE TABLE Employees (node hierarchyid PRIMARY KEY CLUSTERED, level as node.GetLevel() PERSISTED, employee_id INT UNIQUE, employee_name varchar(30) NOT NULL) insert into Employe. 阅读全文
posted @ 2012-11-15 21:47 孤独的猫 阅读(665) 评论(0) 推荐(0)

摘要:CREATE TABLE Sales (EmpId INT, Yr INT, Sales MONEY)INSERT Sales VALUES(1, 2005, 12000)INSERT Sales VALUES(1, 2006, 18000)INSERT Sales VALUES(1, 2007, 25000)INSERT Sales VALUES(2, 2005, 15000)INSERT Sales VALUES(2, 2006, 6000)INSERT Sales VALUES(3, 2006, 20000)INSERT Sales VALUES(3, 2007, 24000)SELEC 阅读全文
posted @ 2012-11-12 21:49 孤独的猫 阅读(1071) 评论(0) 推荐(0)

摘要:UNION 运算符是将两个或更多查询的结果组合为单个结果集 该结果集包含联合查询中的所有查询的全部行。这与使用联接组合两个表中的列不同。使用 UNION 组合查询的结果集有两个最基本的规则:1。所有查询中的列数和列的顺序必须相同。2。数据类型必须兼容a.UNION的结果集列名与第一个select语句中的结果集中的列名相同,其他select语句的结果集列名被忽略b.默认情况下,UNION 运算符是从结果集中删除重复行。如果使用all关键字,那么结果集将包含所有行并且不删除重复行c.sql是从左到右对包含UNION 运算符的语句进行取值,使用括号可以改变求值顺序--例如:select * from 阅读全文
posted @ 2012-11-12 21:44 孤独的猫 阅读(402) 评论(0) 推荐(0)

摘要:quotename 使函数中的输入成为一个有效的标识符select QUOTENAME('dddd') 返回[dddd]select QUOTENAME('dddd','"') 返回"dddd" 阅读全文
posted @ 2012-11-12 21:38 孤独的猫 阅读(2596) 评论(0) 推荐(0)

摘要:EXCEPT:用第一个集合与第二个集合比较,返回只存在于第一个集合,但不在第二个集合中的值。INTERSECT:比较两个集合,返回两个集合都有的行。我们新建一个表CREATE TABLE projectPerson( personId varchar(10), projectId varchar(10), PRIMARY KEY (personId,projectId))GOINSERT INTO projectPerson Values('joeb','projBlg')INSERT INTO projectPerson Values('joeb 阅读全文
posted @ 2012-11-11 13:38 孤独的猫 阅读(1851) 评论(0) 推荐(0)

1 2 3 下一页