| « | December 2025 | » | | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | | | | |
|
| 公告 |
Back Today!
Hold on~
Come on~ |
| 统计 |
blog名称:执著 日志总数:39 评论数量:43 留言数量:0 访问次数:247406 建立时间:2005年3月4日 | |
[SQLSERVER]没用过的东东(sql) |
执著 发表于 2006/8/18 16:28:42 |
B: EXCEPT 运算符 EXCEPT 运算符通过包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重复行而派生出一个结果表。当 ALL 随 EXCEPT 一起使用时 (EXCEPT ALL),不消除重复行。 C: INTERSECT 运算符 INTERSECT 运算符通过只包括 TABLE1 和 TABLE2 中都有的行并消除所有重复行而派生出一个结果表。当 ALL 随 INTERSECT 一起使用时 (INTERSECT ALL),不消除重复行。
先去试试! | |
|
|
[SQLSERVER]C#中调用SQLSERVER DTS包的简单用法 |
DTS.Package2Class p = new DTS.Package2Class(); object t= null; p.LoadFromSQLServer(".","user","password",DTS.DTSSQLServerStorageFlags.DTSSQLStgFlag_Default,null,null,null,"pack1",ref t);
p.Execute(); p.UnInitialize(); p = null;
| |
|
|
[SQLSERVER]浅析SQL SERVER一个没有公开的存储过程  |
执著 发表于 2005/6/15 23:58:00 |
从SQLSERVER6.5开始,MS提供了一个非常有用的系统存储过程sp_MSforeachtable和sp_MSforeachDB;作为DBA会经常需要检查所有的数据库或用户表,比如:检查所有数据库的容量;看看指定数据库所有用户表的容量,所有表的记录数,我们一般处理这样的问题都是用游标分别处理处理,比如:在数据库检索效率非常慢时,我们想检查数据库所有的用户表,我们就必须这样写游标:
DECLARE @TableName varchar(255) DECLARE @ExeSQL varchar(4000) DECLARE Table_Cursor CURSOR FOR SELECT [name] FROM sysobjects WHERE xtype='U' OPEN Table_Cursor FETCH NEXT FROM Table_Cursor INTO @TableName WHILE(@@FETCH_STATUS=0) BEGIN PRINT @TableName SELECT @E | |
|
|
[SQLSERVER]sqlxml中的EXPLICIT模式 |
执著 发表于 2005/6/15 23:42:28 |
|
use pubs
select 1 as tag,null as parent,stor_id as [aa!1!d],ord_num as [aa!1] from sales for xml explicit
简单举例,
具体看sql帮助explicit模式 | |
|
|
[SQLSERVER]关于SQL Server中几个未公布的访问注册表的扩展存储过程 |
SQL Server中包含了几个可以访问系统注册表的扩展存储过程.但实际上这几个扩展存储过程是未公开的,从sql server 7.0就有了, 在SQL server 2000中仍然保留,他们以后可能会删除.但是这几个存储过程却提供了在当前的SQL Server版本中访问系统注册表的能力, 而且很多人利用SQL Server来进行攻击系统时,往往都会用到这几个扩展存储过程.所以最好在SQL Server中禁用他们.
xp_regenumvalues 以多个记录集方式返回所有键值 使用方法: xp_regenumvalues 注册表根键, 子键 比如说,想看看HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun 的所有键值: use master exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWAREMicroso | |
|
|
[SQLSERVER]sysname |
| sysname 是系统提供用户定义的数据类型,在功能上等同于 nvarchar(128),用于引用数据库对象名。是系统提供用户定义的数据类型,在功能上等同于 nvarchar(128),用于引用数据库对象名。 | |
|
|
[SQLSERVER]公司用的,分号码的一个存储过程 |
ALTER proc division @infile varchar(1000),--源文件完整路径 @out varchar(1000), --目的文件夹(必须存在) @outfile varchar(1000),--目的文件名 @num int =30000 --分成多少个一份 as
set nocount on
declare @cmd varchar(2000) declare @count int
if exists(select * from tempdb.dbo.sysobjects where name = '##temp' and xtype = 'U') begin drop table ##temp end
create table ##temp(Col001 nvarchar(4000))
set @cmd = 'bc | |
|
|
[SQLSERVER]sqlserver查找txt文件中指定格式 |
ALTER proc input_text @file varchar(200) = 'E:\a12.txt', @format varchar(50) ='%13[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]%', @formatlength int = 11 as
if exists(select * from tempdb.dbo.sysobjects where name = '##text' and xtype = 'U') begin drop table ##text end
create table ##text(Col001 nvarchar(4000))
declare @start int
declare @cmd varchar(1000) set @cmd = 'bcp ##text in ' | |
|
|
[SQLSERVER]excel导入sqlserver |
/*说明
1.如果是通sqlserver来获取sheetname,有可能会出现 sheet1$,sheet1$_,sheet2$,sheet3$的问题,这里把sheet1$_过滤掉 产生的原因,可能是通过sqlserver,access导出excel功能,可能会有上面的问题 2.一些特殊字符会使得工作表多产两个'',例如 工作表名 a-0,-> 'a-0' 0800 -> '0800' 3.有些excel的column会有几种可能 1>字符型 2>字符型 + 数字符 3>数字符 前两种是能过IMEX=1参数来混合类型为字符型, 数字符则通过查看列的类型 56为int,62为float */
ALTER | |
|
|
[SQLSERVER]OBJECTPROPERTY,columnproperty两个函数 |
|
摘自联机从书:
OBJECTPROPERTY返回类型
int
注释
OBJECTPROPERTY(view_id,'IsIndexable') 可能会耗费大量的计算机资源,这是因为对 IsIndexable 属性的评估需要分析视图定义、进行规范化以及部分优化。
当至少添加了表的一列以用于索引时,OBJECTPROPERTY(table_id, 'TableHasActiveFulltextIndex') 将返回"1"(True)。只要添加了用于索引的第一列后,全文索引即可用于填充。
当除去索引中的最后一列时,索引变成非活动。
如果某些索引键需求条件得不到满足,那么实际创建索引仍然可能会失败。详细信息请参见 CREATE INDEX。
示例
A. 查明 authors 是否为一个表
下面的示例测试 authors 是否为一个表。 | |
|
|
|
|
|