摘要:
通过2个函数CHARINDEX和PATINDEX以及通配符的灵活使用可达目的。通过2个函数:CHARINDEX和PATINDEXCHARINDEX:查某字符(串)是否包含在其他字符串中,返回字符串中指定表达式的起始位置。PATINDEX:查某字符(串)是否包含在其他字符串中,返回指定表达式中某模式第一次出现的起始位置;如果在全部有效的文本和字符数据类型中没有找到该模式,则返回零。特殊:可以使用通配符!例子:1. 查询字符串中是否包含非数字字符SELECT PATINDEX('%[^0-9]%', '1235X461')SELECT PATINDEX('% 阅读全文
摘要:
DISTINCT 和 TOP合用,谁先起作用?实验:IF (OBJECT_ID('tempdb..#tmp_a')) IS NOT NULLDROP table #tmp_aCREATE table #tmp_a (a int)insert into #tmp_a select 1insert into #tmp_a select 2insert into #tmp_a select 2insert into #tmp_a select 2insert into #tmp_a select 3select * from #tmp_aSELECT DISTINCT TOP 3 * 阅读全文
摘要:
先建立这个SP,然后调用即可。 --破解函数,过程,触发器,视图.仅限于SQLSERVER2000 IF EXISTS (select 1 from dbo.sysobjects where id = object_id(N'[dbo].[SP_DECRYPT]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure ... 阅读全文
摘要:
注意定义成local类型的cursor ! PROCEDURE sp_get_all_lineal_parent @node_id int, @lineal_path varchar(200) output with encryption AS SET NOCOUNT ON BEGIN IF ISNULL(@lineal_path, 'NULL') = 'NULL' SET @lineal... 阅读全文
摘要:
我们知道,在数据库系统的开发和应用中,必须保证数据库的完整性和一致性。 当数据库出现了严重错误;当我们怀疑数据库受到破坏(如无法用drop命令删除数据库或对象,使用某个表时出现“不可靠数据”的信息等);当用户改变了Server的缺省排序的顺序或改变了字符集而需要检查;当SA对系统做定期检查;这些时候,我们都需要使用数据库一致性检查... 阅读全文
摘要:
在多台SQL Server服务器之间进行事务处理时,我们用到分布式事务技术。分布式事务由 Microsoft 分布式事务处理协调器 (MS DTC))这类事务管理器或其它支持 X/Open XA 分布式事务处理规范的事务管理器进行协调。Microsoft提供了MSDTC(Distributed Transaction Coordinator)服务支持分布式事务。 基本做法是,在两台SQL Serv... 阅读全文
摘要:
--测试环境,SQL Server2000,远程服务器名:xz,用户名为:sa,无密码,测试数据库:test--1. 链接服务器上的表create table [user](id int primary key,number varchar(4),name varchar(10))go--2. 本地服务器上的表--本机的表,state说明:null 表示新增记录,1 表示修改过的记录,0 表示无变... 阅读全文
摘要:
假设有表:CREAET TABLE a(id int, name varchar(50))INSERT INTO a SELECT 1, 'AAAA'INSERT INTO a SELECT 2, 'BBBB'存储过程:CREAETE PROC usp_fetch_aASSELECT * FROM a方法一:CREATE TABLE #tmp(id int, name varchar(50))IN... 阅读全文
摘要:
-- 1 查看/修改 数据库auto create statistics选项值sp_dboption 'CommunityServer', 'auto create statistics'sp_dboption 'CommunityServer', 'auto create statistics', 'TRUE'-- 2 查看表中索引index或统计collection的分布统计信息DBCC SH... 阅读全文
摘要:
一些用在SQL 2000的企业管理GUI中,并且不打算用于其他的流程。微软已预计将其中的一些存储过程从未来的SQL Server版本中删除(或已经删除了)。虽然这些存储过程可能很有用并为你节省了很多时间,但是他们可以在任何时候改变他们的函数或简单的删除掉。 下面的图表显示了当许多存储过程从一个Microsoft SQL Server版本移入另一个版本时,引入了新的存储过程,而原来的一些则从安装包里删除了。大多数的存储过程,如果不是所有的,要求用户是系统管理员服务器角色以便执行这些存储过程。和文件系统交互的存储过程还要求执行存储过程的用户(还有SQL Server的服务帐户)具有访问文件/文.. 阅读全文