MSSQL
文章平均质量分 58
feegle_develop
除了事实之外,没有其它的权威!
展开
-
自动生成字符型订单单号
--创建自定义函数create function f_orderid()returns varchar(10)asbeginreturn(select ISBN1122+(case when len(max(right([id],2))+1)>1 then cast(max(right([id],2))+1 as varchar(10)) else 0+cast(isn原创 2010-01-24 18:16:00 · 637 阅读 · 0 评论 -
指定时间范围内广告牌每日统计示例
if OBJECT_ID(a) is not null drop table agocreate table a(pid int,pname varchar(20))goinsert into aselect 1,广告1union select 2,广告2unionselect 3,广告3unionselect 4,广告4unionselect 5,广告5go原创 2010-05-18 17:11:00 · 464 阅读 · 0 评论 -
数据库完全备份和差异备份的还原操作
备份1.完全备份【右键选择数据库(test)=>选择"备份数据库",进去"SQL Server备份"界面=>选择"数据库-完全"(默认)=>单击"添加",选择备份路径(例:F:/备份/test201006081545)=>确定(注:"备份到"路径有且仅有一个,如果有其它备份路径,请删除)=>选择"追加到媒体"(默认)=>确定】 完全备份完成2.差异备份【右键选择数据库(test)=>选择"备份数据库",进去SQL Server备份界面=>选择"数据库-差异"(默认)=>单原创 2010-06-08 16:18:00 · 8014 阅读 · 0 评论 -
自动删除用户表
<br />declare @name varchar(100),@sql varchar(100),@drop varchar(max)<br />--@name存储用户表名<br />--@sql存储删除用户表语句<br />--@drop存储查询已删除的表名<br />set @drop='select name from ('<br />--循环查找用户表,如无用户名,则退出循环<br />while (select count(Name) from原创 2010-08-26 16:41:00 · 312 阅读 · 0 评论 -
SQL生成xml文档
<br />/********************生成xml文档********************/<br />/********************for xml path********************/<br />/*<br />if OBJECT_ID('ct') is not null<br /> drop table ct<br />go<br /><br />create table ct<br />(<br />Code int ide原创 2010-08-26 16:42:00 · 968 阅读 · 0 评论 -
应用场景:将项目组的员工职位合并到同一列
<br />/*<br />应用场景:将项目组的员工职位合并到同一列<br />*/<br />IF OBJECT_ID('A') IS NOT NULL<br /> DROP TABLE A<br />GO<br /><br />CREATE TABLE A<br />(<br />ID INT,<br />NAME VARCHAR(50)<br />)<br />GO<br /><br />IF OBJECT_ID('B') IS NOT NULL<br原创 2010-08-26 16:46:00 · 376 阅读 · 0 评论 -
IN、EXISTS和LEFT JOIN,NOT IN、NOT EXISTS和INNER JOIN在存在与不存在的查询效率
<br />/*<br />IN、EXISTS和LEFT JOIN,NOT IN、NOT EXISTS和INNER JOIN在存在与不存在的查询效率<br />*/<br /> <br />IF OBJECT_ID('A') IS NOT NULL<br /> DROP TABLE A<br />GO<br /><br />CREATE TABLE A<br />(<br />ID INT<br />)<br />GO<br /><br />IF OBJECT_ID原创 2010-09-03 15:20:00 · 3780 阅读 · 0 评论 -
应用场景:将员工不同的职位合并到同一列
/*应用场景:将员工不同的职位合并到同一列*/IF OBJECT_ID('A') IS NOT NULL DROP TABLE AGOCREATE TABLE A(NAME VARCHAR(20),STATU VARCHAR(50))GOINSERT INTO ASELECT '小张','普通员工'UNION ALLSELECT '小张','组长'UNION ALLSELECT '小二','经理'UNION ALLSELECT '原创 2010-09-03 13:48:00 · 634 阅读 · 0 评论 -
从字符串里提取特殊字符
<br />/*<br />应用场景:从字符串里提取特殊字符<br />*/<br />--提取数字<br />DECLARE @STRING VARCHAR(200)<br />SET @STRING='今KFA天KlK在F1254下66FaDFA雨,FKLjFDSA8你97知道8854fAOE么I?UQRQ'<br />WHILE @STRING LIKE '%[^0-9]%'<br />BEGIN<br />SET @STRING=STUFF(@STRING,PATIN原创 2010-09-03 16:39:00 · 6601 阅读 · 0 评论 -
修复数据库
<br />--数据库(可疑)的解决方案(修复数据库)<br />USE MASTER<br />GO<br />SP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDE<br />GO<br />ALTER DATABASE PD_FIE SET EMERGENCY<br />GO<br />sp_dboption 'PD_FIE', 'single user', 'true'<br />GO<br />DBCC原创 2011-05-27 16:42:00 · 364 阅读 · 0 评论 -
解锁
<br />create procedure sp_kill(@tbname varchar(100),@dbname varchar(100))<br />as<br />begin<br /> declare @spid int<br /> <br /> if OBJECT_ID('tempdb.dbo.#Kill') is not null<br /> drop table #Kill<br /><br /> create table #K原创 2011-05-27 16:43:00 · 1679 阅读 · 0 评论 -
建立服务器对象——链接服务器
/*************************************************************************建立服务器对象——链接服务器方法一:在 SQL Server 2008 Management Studio 中展开服务器对象,右键单击“链接服务器”,然后单击“新建链接服务器”。a.单击左侧区“常规”选项卡,在“链接服务器”去填写你要链接的SQL Server实例名。b.选择“SQL Server”选项。c.单击左侧区“安全性”选项卡原创 2011-05-27 16:40:00 · 1928 阅读 · 0 评论 -
SqlCMD命令
<br />/********************SqlCMD命令********************/<br />一、直接输入,执行批处理命令<br />1.开启sqlcmd,并链接到服务器<br /> 开始=>运行=>键入cmd=>键入sqlcmd -S 实例名 -U 用户名 -P 密码<br />2.指定数据库<br /> use 数据库名<br /> go<br />3.编写SQL语句<br />4.键入go,执行批处理命令<br />二、执行文件中原创 2011-05-27 16:44:00 · 1466 阅读 · 0 评论 -
利用函数逐行对表进行求最大数、最小数、N个最大数的平均值、N个最小数的平均值
--利用函数逐行对表进行求最大数、最小数、N个最大数的平均值、N个最小数的平均值if OBJECT_ID(t) is not null drop table tgocreate table t(col1 decimal(18,4),col2 decimal(18,4),col3 decimal(18,4),col4 decimal(18,4),col5 decimal(18,4))go原创 2010-05-17 16:04:00 · 738 阅读 · 0 评论 -
分页存储过程
--分页存储过程--该分页存储过程适合带有主键的表CREATE PROCEDURE PRO_PAGINATION @TABLE VARCHAR(100),--表名 @WHERE VARCHAR(500),--WHERE条件 @PRIMARY_KEY VARCHAR(100),--主键 @CURENT_PAGE INT,--当前页 @AVG_PAGE INT,-原创 2010-03-31 14:05:00 · 311 阅读 · 0 评论 -
sql远程链接
1.检查网络连接 在客户端ping服务器的IP,检查是否ping得通,如果ping不同,请将网络连接好再进行下一步2.检查远程服务器是否启动了sql server 2000服务。 如果服务未启动,就启动sql server 2000服务,启动进行下一步3.检查数据库版本 在服务器端启动查询分析器,输入 select @@version 执行后可以看到版本号,版本号在8.0原创 2010-03-31 14:01:00 · 337 阅读 · 0 评论 -
sql取前20条数据的后10条数据(通用)
SQL在没有ID主键或单一主键(即组合主键或没有主键的情况),如何取前20条数据的后10条数据,一般通用的方法仍是用临时表,效率一般,但比较通用,在各种情况下均可用此方法...由此也可衍生出SQL的分页存储过程,尤其适合经常对不同表的数据进行分页,格外适用.当然,方法并非这一种,具体视不同情况设计最优的sql语句或存储过程.但思想是想通的...--startcreate table T原创 2010-01-24 18:20:00 · 8711 阅读 · 1 评论 -
重写dateadd()函数
dateadd()函数的语法格式:dateadd(y[,m,d],int,expression)在使用dateadd的过程中你会发现,当dateadd()函数的第一个参数为‘m‘时,dateadd()函数只单纯的在月份上加减某个整数值,但是有可能你会遇到这样的的问题,例如:日期是2009-06-30(月末)时,只想将该日期推前三个月,即2009-03-31,此时如果使用datead原创 2010-01-25 14:23:00 · 863 阅读 · 0 评论 -
两种形式的分组排名
--建表CREATE TABLE TEST([ID] INT,IDS DECIMAL(18,4),[TIME] DATETIME)--测试数据INSERT INTO TESTSELECT 20.36,1,2009-09-30UNION ALLSELECT 20.36,1,2009-09-30UNION ALLSELECT 14.3原创 2010-02-01 16:40:00 · 763 阅读 · 3 评论 -
建立外键关系,实现级联更新和删除
----------建立外键关系,实现级联更新和删除------------创建表CREATE TABLE TNAME(TNAME VARCHAR(20) PRIMARY KEY NOT NULL,CNAME VARCHAR(20))CREATE TABLE FNAME([ID] INT PRIMARY KEY NOT NULL,TNAME VARC原创 2010-02-05 12:41:00 · 1242 阅读 · 0 评论 -
浅聊索引
----------索引的创建------------创建一般索引CREATE INDEX A ON T(T01)--创建聚集索引CREATE CLUSTERED INDEX A ON T(T01)--创建非聚集索引CREATE NONCLUSTERED INDEX A ON T(T01)--删除索引DROP INDEX T.A---------原创 2010-02-05 11:05:00 · 334 阅读 · 0 评论 -
openrowset()函数访问EXCEL(97-2007)
SQL SERVER访问EXCEL有两种接口可供选择:Microsoft.Jet.OLEDB.4.0(以下简称 Jet 引擎)和Microsoft.ACE.OLEDB.12.0(以下简称 ACE 引擎)。Jet 引擎大家都很熟悉,可以访问 Office 97-2003,但不能访问 Office 2007。ACE 引擎是随 Office 2007 一起发布的数据库连接组件,既原创 2010-02-11 14:55:00 · 627 阅读 · 0 评论 -
简述触发器
触发器里有两个临时表,一个是Deleted 表,一个是 Inserted表 。 很好的理解触发器的两个临时表(Deleted , Inserted)在触发事务过程中的作用,是熟练使用触发器的前提! 下面具体的介绍DELETED表和INSERTED表: 虚拟表Inserted原创 2010-02-20 15:13:00 · 654 阅读 · 0 评论 -
case...when的基本用法
语法简单 CASE 函数:CASE input_expression WHEN when_expression THEN result_expression [ ...n ] [ ELSE else_result_expression ENDCASE 搜索函数:CASE WHEN Boolean_expression THEN原创 2010-01-07 16:58:00 · 402 阅读 · 0 评论 -
简单的sql转置
--创建表create table score([id] varchar(10),[name] varchar(10),score varchar(20),sc decimal(18,4))go --修改列属性alter table scorealter column sc decimal(18,2)go --测试数据insert into score values(原创 2010-01-07 17:13:00 · 510 阅读 · 0 评论 -
SQL企业版无法正常安装之解决方法
如果不能在WIN 2000系统,2003系统上安装SQL2000企业版,如下方法可供参考:在SQL服务器的安装盘中找到MSDE这个目录,并且点击setup.exe安装它,过程简单直接下一步就行。重启系统,此时可以看到SQL服务的图标。再拿出SQL服务器版的安装光盘,直接安装客户端工具,根据提示安装,自检过程中知道系统不是SERVER版,会提示只安装客户端工具——原创 2010-01-06 14:24:00 · 374 阅读 · 0 评论 -
权限设置
--一、添加/删除 用户和组--添加用户组exec sp_addgroup tchina--添加登录账号、密码以及默认数据库--sp_addlogin 登录账号,密码,默认数据库,语言,全名exec sp_addlogin chen,123456,work,null,null--添加登录账号、别名和组名--sp_adduser 登录账号,别名,组名exec原创 2010-03-31 14:05:00 · 447 阅读 · 0 评论 -
sql调用带输出参数的存储过程
--sql调用带输出参数的存储过程CREATE PROCEDURE TESTs @A INT, @B INT OUTPUTASBEGIN SELECT @B=@A+1END--定义一个与输出参数同类型的变量DECLARE @C INT--将变量按[变量名 OUTPUT]的格式传入存储过程EXEC TESTs 2,@C OUTPUTSELEC原创 2010-03-31 14:00:00 · 1857 阅读 · 0 评论 -
MSSQL2008数据库邮件通知配置
<br /><br />MSSQL2008数据库邮件通知配置<br />配置数据库邮件<br />1. 连接到MSSQL2008数据库服务器,右键数据库实例,单击“方面”,然后在“方面”选项卡中选择“外配配置管理器”,修改SqlMailEnabled属性为True,便可启用数据库邮件;<br /><br />2. 展开“管理”,右键“数据库邮件”,选择“配置数据库邮件”;<br /> <br />3. 出现欢迎页面后下一步,选择“通过执行以下任务来安装数原创 2011-05-27 16:45:00 · 2327 阅读 · 2 评论