MS SQL Server
ekinguofeng
这个作者很懒,什么都没留下…
展开
-
检查数据库中是否存在指定名称的表或视图或函数或存储过程
/*=================================================================描述:检查数据库中是否存在指定名称的用户表,如果存在就删除=================================================================*/ IF EXISTS (SELECT * FROM dbo.sysob原创 2008-07-09 17:27:00 · 731 阅读 · 0 评论 -
从视图中创建一个新表
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE ID = object_id(Ndbo.WI_Sales_Report_Fact) and xtype = U)DROP table dbo.WI_Sales_Report_FactGOcreate table WI_Sales_Report_Fact(ids INT)goif exists (se原创 2008-11-25 15:43:00 · 418 阅读 · 0 评论 -
查找指定的列名存在于哪些表中
SELECT * FROM sysobjects WHERE xtype = SSELECT * FROM syscolumns WHERE name LIKE %Courier%SELECT a.name as table_name, b.name as column_name FROM sysobjects aINNER JOIN syscolumns b原创 2008-11-25 15:36:00 · 316 阅读 · 0 评论 -
借助游标或邻时表取表格中指定字段的值
--当调用该Function的主表记录超过万条时,通过游标实现的Function效率高于通过邻时表实现的Function--游标实现IF EXISTS (SELECT * FROM dbo.sysobjects where id = object_id(Nfbf_getfabric_yarn_For_Report) AND xtype IN (NFN, NIF, NTF))原创 2008-11-25 15:34:00 · 257 阅读 · 0 评论 -
存储过程中调用存储过程并使用事务处理
IF OBJECT_ID (Ndbo.Table1, NU) IS NOT NULLDROP TABLE dbo.Table1GO--建立测试表Table1CREATE TABLE Table1( a int)GOIF EXISTS (SELECT TOP 1 * FROM sysobjects WHERE ID = OBJECT_ID(Nprocedure_a原创 2008-11-25 15:33:00 · 302 阅读 · 0 评论 -
SQL Server2005中Rollup和CUBE的使用
;WITHTB AS( SELECT Item = Table, Color = Blue, Quantity = 124 UNION ALL SELECT Item = Table, Color = Red, Quantity = 23 UNION ALL SELECT Item = Chair, Color = Blue, Quantity = 101 UNION AL原创 2008-11-25 15:27:00 · 353 阅读 · 0 评论 -
SQLServer2005中将字符串分拆到表中的二种方法
--使用UNION方式DECLARE @str varchar(1000)DECLARE @sql varchar(1000)set @str = 1|3|4|25set @sql = SELECT + replace(@str,|, UNION SELECT )SELECT @sqlEXEC(@sql)--使用XML方式DECLARE @str varchar(1000原创 2008-11-25 15:23:00 · 315 阅读 · 0 评论 -
检查报务器中是否存在指定名称的数据库
IF EXISTS(SELECT name FROM master..sysdatabases WHERE name = SalesDB) DROP DATABASE SalesDBGO原创 2008-11-25 15:16:00 · 237 阅读 · 0 评论 -
OpenRowSet和OpenDataSource的运用技巧
/*===================================================================================================注:前提条件是SQL Server服务器端必须安装有相应的驱动程序, Microsoft.ACE.OLEDB.12.0是Office2007中Excel和Access的驱动程序名, Microsof原创 2008-11-25 15:09:00 · 802 阅读 · 1 评论 -
使用sp_addlinkedserver创建链接数据库
--使用OLEDB驱动程序创建SQL Server2005链接服务器--这里的远程服务器名为:192.168.108.22/CR2005,用户名为:sa,密码:freebordersIF EXISTS(SELECT 1 FROM master..sysservers WHERE srvname=Link_SQL2005)EXEC sp_dropserver Link_SQL2005,dr原创 2008-11-25 15:05:00 · 1286 阅读 · 1 评论 -
杀死服务器中无效被占用的进程
DECLARE @dbname sysnameSET @dbname =tal_juns_20060722BEGIN DECLARE @spid varchar(20) DECLARE #spid cursor for select spid=cast(spid as varchar(20)) from master..sysprocesses原创 2008-11-25 15:32:00 · 351 阅读 · 0 评论 -
以表格的形式返回转换后的字符串
IF EXISTS(SELECT TOP 1 * FROM sysobjects WHERE ID = OBJECT_ID(Ndbo.tb) AND xtype = NU) DROP TABLE dbo.tbGOCREATE TABLE dbo.tb( pkid INT IDENTITY(1,1), data VARCHAR(10))DECLARE @str NVARCHAR(200)原创 2008-11-25 14:53:00 · 187 阅读 · 0 评论 -
查看sqlserver2000的补丁版本的语句
/*======================================================================版本和级别 @@VERSION 产品级别SQL Server 2000 原始版本 8.00.194 RTMDatabase Components SP1 8.00.384 SP1Database Compon原创 2008-11-25 15:41:00 · 318 阅读 · 0 评论 -
SQL Server2005中使用数据库快照恢复数据库
USE masterGO--1.Create test database that is called Sample.CREATE DATABASE SampleON( NAME = Sample, FILENAME = D:/Program Files/Microsoft SQL Server/MSSQL10.MSSQLSERVER/MSSQL/DATA/Sample.mdf)GOUSE原创 2008-11-25 15:24:00 · 265 阅读 · 0 评论 -
SQL2005中操作XML实例
--XML的Query方法:用于提取XML实例的部分,XQuery表达式求值为一个XML节点列表/*===============================================================================================实例1:返回根元素下的所有元素========================================原创 2008-11-25 15:21:00 · 585 阅读 · 0 评论 -
SQL2005中WITH和ROW_NUMBER() OVER()的使用
/*===========================================================WITH和ROW_NUMBER() OVER()的使用===========================================================*/WITH DEMO AS( SELECT ROW_NUMBER() OVER(ORDER BY原创 2008-11-25 15:18:00 · 253 阅读 · 0 评论 -
SQL Server 2008中使用BULK工具实现文本文件的导入导出
USE tempdbGO--测试数据IF OBJECT_ID(dbo.tb,U) IS NOT NULL DROP TABLE dbo.tbGOCREATE TABLE tb(col1 VARCHAR(10),col2 INT)GOINSERT tb SELECT a2,NULLUNIONSELECT b,10GO--导出(注:必须开启C:/TEMP文件夹的读写权限)EXEC ma原创 2008-11-25 15:08:00 · 531 阅读 · 0 评论 -
SQL Server 2005中PIVOT和UNPIVOT的测试实例
--测试PIVOTIF OBJECT_ID(NT_PIVOT,NU) IS NOT NULL DROP TABLE T_PIVOTGOCREATE TABLE T_PIVOT(id INT,name VARCHAR(20),[quarter] INT,amount INT)GOINSERT INTO T_PIVOTSELECT id = 1,name = a,[quarter]原创 2008-11-15 13:19:00 · 399 阅读 · 0 评论 -
SQL Server分页显示的N种方法
/*新建测试表及插入100万数据*/CREATE TABLE test_table(id int identity(1,1) primary key,name varchar(20),note varchar(200),)GOCREATE NONCLUSTERED INDEX test_tab_index_1 ON test_table(name,note)GODECLARE @i INTSET原创 2009-05-27 10:19:00 · 581 阅读 · 0 评论