??xml version="1.0" encoding="utf-8" standalone="yes"?>91福利国产成人精品照片,欧美国产第二页,欧美日韩另类图片http://www.aygfsteel.com/Ben/archive/2006/11/16/81560.htmlBenBenThu, 16 Nov 2006 08:49:00 GMThttp://www.aygfsteel.com/Ben/archive/2006/11/16/81560.htmlhttp://www.aygfsteel.com/Ben/comments/81560.htmlhttp://www.aygfsteel.com/Ben/archive/2006/11/16/81560.html#Feedback0http://www.aygfsteel.com/Ben/comments/commentRss/81560.htmlhttp://www.aygfsteel.com/Ben/services/trackbacks/81560.htmlSET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO

 

--=================================================================
-- 描述Q~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- 作者:鲁湘
-- @tableName   该模板对应的数据库表
-- @RecordID    业务处理需要寻找表中记录的IDL
--=================================================================

ALTER    PROCEDURE WF_QingJia
   (@tableName varchar(50),@recordID varchar(50))
AS
-- 获取表中的业务数据?br />DECLARE @money varchar(100),  -- 业务逻辑需要的?br /> @sqls nvarchar(4000)  -- 保存l合SQL语句

SET @sqls='SELECT @a=Money FROM '+@tableName +' WHERE ID ='+@recordID

EXECUTE sp_executesql @sqls,N'@a varchar(50) output',@money output

-- ҎD行相应的业务处理
print @money
UPDATE WF_FormBill SET [Money]='真的被处理了' WHERE [ID]=@recordID

 

GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO



Ben 2006-11-16 16:49 发表评论
]]>
[转]l典SQL语句--收藏 http://blog.ourtw.com/article.php?tid_600.htmlhttp://www.aygfsteel.com/Ben/archive/2006/04/06/39588.htmlBenBenThu, 06 Apr 2006 07:01:00 GMThttp://www.aygfsteel.com/Ben/archive/2006/04/06/39588.htmlhttp://www.aygfsteel.com/Ben/comments/39588.htmlhttp://www.aygfsteel.com/Ben/archive/2006/04/06/39588.html#Feedback0http://www.aygfsteel.com/Ben/comments/commentRss/39588.htmlhttp://www.aygfsteel.com/Ben/services/trackbacks/39588.html[个h收藏]l典SQL语句.值得收藏
_օ的SQL语句Q推荐收?br />在网上经常{,常常看到有些Zؓ了求得某些SQL语句而焦头烂?现在我特别把自己收藏的一些比较精典的SQL拿出来和大家分n一?br />
1. 行列转换--普?br />
假设有张学生成W?CJ)如下
Name   Subject   Result
张三   语文     80
张三   数学     90
张三   物理     85
李四   语文     85
李四   数学     92
李四   物理     82

惛_? 
姓名   语文   数学   物理
张三   80   90   85
李四   85   92   82

declare @sql varchar(4000)
set @sql = ''select Name''
select @sql = @sql + '',sum(case Subject when ''''''+Subject+'''''' then Result end) [''+Subject+'']''
from (select distinct Subject from CJ) as a
select @sql = @sql+'' from test group by name''
exec(@sql)

2. 行列转换--合ƈ

有表A,
id pid
1   1
1   2
1   3
2   1
2   2
3   1
如何化成表B:
id pid
1 1,2,3
2 1,2
3 1

创徏一个合q的函数
create function fmerg(@id int)
returns varchar(8000)
as
begin
declare @str varchar(8000)
set @str=''''
select @str=@str+'',''+cast(pid as varchar) from 表A where id=@id set @str=right(@str,len(@str)-1)
return(@str)
End
go

--调用自定义函数得到结?br />select distinct id,dbo.fmerg(id) from 表A

3. 如何取得一个数据表的所有列?br />
Ҏ如下Q先从SYSTEMOBJECTpȝ表中取得数据表的SYSTEMID,然后再SYSCOLUMN表中取得该数据表的所有列名?br />SQL语句如下Q?br />declare @objid int,@objname char(40)
set @objname = ''tablename''
select @objid = id from sysobjects where id = object_id(@objname)
select ''Column_name'' = name from syscolumns where id = @objid order by colid

是不是太单了Q?呵呵 不过l常用阿.

4. 通过SQL语句来更改用L密码

修改别h?需要sysadmin role  
EXEC sp_password NULL, ''newpassword'', ''User''

如果帐号为SA执行EXEC sp_password NULL, ''newpassword'', sa

5. 怎么判断Z个表的哪些字D不允许为空Q?br />
select COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where IS_NULLABLE=''NO'' and TABLE_NAME=tablename

6. 如何在数据库里找到含有相同字D늚表?
a. 查已知列名的情况
SELECT b.name as TableName,a.name as columnname
From syscolumns   a INNER JOIN   sysobjects b  
ON a.id=b.id  
AND b.type=''U''  
AND a.name=''你的字段名字''

b. 未知列名查所有在不同表出现过的列?br />Select o.name As tablename,s1.name As columnname
From syscolumns s1, sysobjects o
Where s1.id = o.id
  And o.type = ''U''
  And Exists (
    Select 1 From syscolumns s2  
    Where s1.name = s2.name  
    And s1.id <> s2.id
    )

7. 查询Wxxx行数?br />
假设id是主键:
select *
from (select top xxx * from yourtable) aa
where not exists(select 1 from (select top xxx-1 * from yourtable) bb where aa.id=bb.id)

如果使用游标也是可以?
fetch absolute [number] from [cursor_name]
行数为绝对行?br />
8. SQL Server日期计算
a. 一个月的第一?br />SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0)
b. 本周的星期一
SELECT DATEADD(wk, DATEDIFF(wk,0,getdate()), 0)
c. 一q的W一?br />SELECT DATEADD(yy, DATEDIFF(yy,0,getdate()), 0)
d. 季度的第一?br />SELECT DATEADD(qq, DATEDIFF(qq,0,getdate()), 0)
e. 上个月的最后一?
SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(mm,0,getdate()), 0))
f. d的最后一?br />SELECT dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate()), 0))
g. 本月的最后一?br />SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0))
h. 本月的第一个星期一
select DATEADD(wk, DATEDIFF(wk,0,                                      
                    dateadd(dd,6-datepart(day,getdate()),getdate())    
                                                                ), 0)    
i. 本年的最后一?br />SELECT dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate())+1, 0))?br />-----------------------------------------------------------------------
1.按姓氏笔L?
Select * From TableName Order By CustomerName Collate Chinese_PRC_Stroke_ci_as

2.数据库加?
select encrypt(''原始密码'')
select pwdencrypt(''原始密码'')
select pwdcompare(''原始密码'',''加密后密?') = 1--相同Q否则不相同 encrypt(''原始密码'')
select pwdencrypt(''原始密码'')
select pwdcompare(''原始密码'',''加密后密?') = 1--相同Q否则不相同

3.取回表中字段:
declare @list varchar(1000),@sql nvarchar(1000)
select @list=@list+'',''+b.name from sysobjects a,syscolumns b where a.id=b.id and a.name=''表A''
set @sql=''select ''+right(@list,len(@list)-1)+'' from 表A''
exec (@sql)

4.查看盘分区:
EXEC master..xp_fixeddrives

5.比较A,B表是否相{?
if (select checksum_agg(binary_checksum(*)) from A)
  =
  (select checksum_agg(binary_checksum(*)) from B)
print ''相等''
else
print ''不相{?'

6.杀掉所有的事g探察器进E?
DECLARE hcforeach CURSOR GLOBAL FOR SELECT ''kill ''+RTRIM(spid) FROM master.dbo.sysprocesses
WHERE program_name IN(''SQL profiler'',N''SQL 事g探查?')
EXEC sp_msforeach_worker ''?''

7.记录搜烦:
开头到N条记?br />Select Top N * From ?br />-------------------------------
N到M条记?要有ȝ引ID)
Select Top M-N * From ?Where ID in (Select Top M ID From ? Order by ID Desc
----------------------------------
N到结记?br />Select Top N * From ?Order by ID Desc

8.如何修改数据库的名称:
sp_renamedb ''old_name'', ''new_name''

9Q获取当前数据库中的所有用戯
select Name from sysobjects where xtype=''u'' and status>=0

10Q获取某一个表的所有字D?br />select name from syscolumns where id=object_id(''表名'')

11Q查看与某一个表相关的视图、存储过E、函?br />select a.* from sysobjects a, syscomments b where a.id = b.id and b.text like ''%表名%''

12Q查看当前数据库中所有存储过E?br />select name as 存储q程名称 from sysobjects where xtype=''P''

13Q查询用户创建的所有数据库
select * from master..sysdatabases D where sid not in(select sid from master..syslogins where name=''sa'')
或?br />select dbid, name AS DB_NAME from master..sysdatabases where sid <> 0x01

14Q查询某一个表的字D和数据cd
select column_name,data_type from information_schema.columns
where table_name = ''表名''

[n].[标题]:
Select * From TableName Order By CustomerName

[n].[标题]:
Select * From TableName Order By CustomerName


Ben 2006-04-06 15:01 发表评论
]]>
SQL中CONVERT转化函数, Concat , COALESCE的用?/title><link>http://www.aygfsteel.com/Ben/archive/2006/04/06/39578.html</link><dc:creator>Ben</dc:creator><author>Ben</author><pubDate>Thu, 06 Apr 2006 06:15:00 GMT</pubDate><guid>http://www.aygfsteel.com/Ben/archive/2006/04/06/39578.html</guid><wfw:comment>http://www.aygfsteel.com/Ben/comments/39578.html</wfw:comment><comments>http://www.aygfsteel.com/Ben/archive/2006/04/06/39578.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/Ben/comments/commentRss/39578.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/Ben/services/trackbacks/39578.html</trackback:ping><description><![CDATA[ <p>SQL中CONVERT转化函数的用?/p> <p>CONVERT的用方?</p> <p>////////////////////////////////////////////////////////////////////////////////////////</p> <p>格式:<br />CONVERT(data_type,expression[,style])</p> <p>说明:<br />此样式一般在旉cd(datetime,smalldatetime)与字W串cd(nchar,nvarchar,char,varchar)<br />怺转换的时候才用到.</p> <p>例子:<br />SELECT CONVERT(varchar(30),getdate(),101) now<br />l果?br />now<br />---------------------------------------<br />09/15/2001</p> <p>/////////////////////////////////////////////////////////////////////////////////////</p> <p>style数字在{换时间时的含义如?/p> <p>-------------------------------------------------------------------------------------------------<br />Style(2位表C年? | Style(4位表C年? | 输入输出格式 <br />-------------------------------------------------------------------------------------------------<br />- | 0 or 100 | mon dd yyyy hh:miAM(或PM) <br />-------------------------------------------------------------------------------------------------<br />1 | 101 | mm/dd/yy <br />-------------------------------------------------------------------------------------------------<br />2 | 102 | yy-mm-dd <br />-------------------------------------------------------------------------------------------------<br />3 | 103 | dd/mm/yy <br />-------------------------------------------------------------------------------------------------<br />4 | 104 | dd-mm-yy <br />-------------------------------------------------------------------------------------------------<br />5 | 105 | dd-mm-yy <br />-------------------------------------------------------------------------------------------------<br />6 | 106 | dd mon yy <br />-------------------------------------------------------------------------------------------------<br />7 | 107 | mon dd,yy <br />-------------------------------------------------------------------------------------------------<br />8 | 108 | hh:mm:ss <br />-------------------------------------------------------------------------------------------------<br />- | 9 or 109 | mon dd yyyy hh:mi:ss:mmmmAM(或PM)<br />-------------------------------------------------------------------------------------------------<br />10 | 110 | mm-dd-yy <br />-------------------------------------------------------------------------------------------------<br />11 | 111 | yy/mm/dd <br />-------------------------------------------------------------------------------------------------<br />12 | 112 | yymmdd <br />-------------------------------------------------------------------------------------------------<br />- | 13 or 113 | dd mon yyyy hh:mi:ss:mmm(24时? <br />-------------------------------------------------------------------------------------------------<br />14 | 114 | hh:mi:ss:mmm(24时? <br />-------------------------------------------------------------------------------------------------<br />- | 20 or 120 | yyyy-mm-dd hh:mi:ss(24时? <br />-------------------------------------------------------------------------------------------------<br />- | 21 or 121 | yyyy-mm-dd hh:mi:ss:mmm(24时? <br />-------------------------------------------------------------------------------------------------<br /><span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #c60a00; FONT-FAMILY: Arial"><br /><font size="4">concat</font></span><font size="4"><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"></span><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">Ҏ的结果等?/span></font><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><font size="4">:result = string1 + string2 + string3 + ?+ stringN</font></span></p> <p class="MsoCommentText" style="MARGIN: 0cm 0cm 0pt"> <font size="4"> <span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: #c60a00; FONT-FAMILY: Arial">COALESCE</span> <span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"> </span> <span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">q回其参CW一个非I辑ּ<br /><br /></span> </font> </p> <img src ="http://www.aygfsteel.com/Ben/aggbug/39578.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/Ben/" target="_blank">Ben</a> 2006-04-06 14:15 <a href="http://www.aygfsteel.com/Ben/archive/2006/04/06/39578.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转帖]SQL Server - [分布式查?事务]http://www.aygfsteel.com/Ben/archive/2006/03/29/38085.htmlBenBenWed, 29 Mar 2006 08:35:00 GMThttp://www.aygfsteel.com/Ben/archive/2006/03/29/38085.htmlhttp://www.aygfsteel.com/Ben/comments/38085.htmlhttp://www.aygfsteel.com/Ben/archive/2006/03/29/38085.html#Feedback0http://www.aygfsteel.com/Ben/comments/commentRss/38085.htmlhttp://www.aygfsteel.com/Ben/services/trackbacks/38085.html 分布式查?/font>
    OPENROWSET
    从Excel取数?/font>
    SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;Database=d:\1.xls',[Sheet1$])
    从Oracle取数?/font>
    SELECT * FROM OPENROWSET('MSDAORA.1','NetServiceName';'User';'Password','SELECT * FROM OracleTalbe')
 
    Linked Server(for Oracle)
    建立Linked Server
    sp_addlinkedserver'Allies', 'Oracle', 'MSDAORA.1', 'NetServiceName'
    Oracle的Login
    sp_addlinkedsrvlogin'Allies', FALSE, 'SQLServerLogin', 'OracleUser', 'OraclePassword'
    从Oracle查询数据
    SELECT*FROM OPENQUERY( Allies, 'SELECT * FROM OracleTalbe')Q或?/font>
    SELECT*FROM Allies..OracleUser.OracleTalbe
    修改Linked Server的Server Option
     sp_serveroption'Allies', 'Option Name', 'Option Value'
    例如
    sp_serveroption'OraDC', 'rpc out', 'true'
    sp_serveroption'OraDC', 'rpc', 'true'
    向Oracle插入数据Q还没有用过Q?/font>
    INSERT INTO OPENQUERY(Allies, 'SELECT ... FROM OracleTalbe WHERE 1=2') VALUES ( ... )
    删除Linked Server
    sp_dropserver'Allies', 'droplogins'
 
    注意Q用OPENROWSET、OPENQUERYӞSQL Server不对提交的SQL语句做Q何检查,直接语句提交给Linked Serverq行处理Q用四部分命名法时QSQL Server可能从Linked Server上读取被引用表的数据到SQL ServerQ然后在SQL Server上来完成其它操作?/font>
 
    讄SQL Server到Oracle的Linked ServerQ可参考以下KB文章Q?/font>
 
    分布式事务中的OPENROWSET、OPENQUERY、OPENDATASOURCE
    如果在事务,或是一些隐含用事务的情况下,例如TRIGGER中,使用OPENROWSET、OPENQUERY、OPENDATASOURCEӞ需要用分布式事务来处理?/font>
    在分布式事务中用OPENROWSET、OPENQUERY、OPENDATASOURCE或Linked ServerӞ需要注意:
    1. 必须启动MSDTC服务?/font>
    Service Name为Distributed Transaction Coodinator?/font>
    2. 所涉及的Server之间如果存在|关、防火墙Q需要开启TCP 135端口?/font>
    分布式事务需要用这个端口通讯?/font>
    3. 如果Server之间跨网D,则Server之间需要能互相PING到机器名Q而不是IP地址Q?/font>
    如果怺PING机器名有问题Q修?font color="#990099">system32/driver/etc目录下的hosts文g?/font>
 
    上面的设|不正确Ӟ会出现类似如下的错误Q?/font>
    该操作未能执行,因ؓ OLE DB 提供E序 'SQLOLEDB' 无法启动分布式事务?br />[OLE/DB provider returned message: C务不能登记到指定的事务处理器中?]
OLE DB 错误跟踪QOLE/DB Provider 'SQLOLEDB' ITransactionJoin::JoinTransaction returned 0x8004d00aQ?/font>  
 
    分布式事务可以查询下列KB文章Q?/font>
 
    使用分布式查询,可以参考:Chapter 25 - Distributed Queries: OLE DB Connectivity?/font>
    关于ORAOLEDB提供E序的详l说明,可以参考:Oracle Provider for OLE DB Developer's Guide - Release 9.2 ?/font>


Ben 2006-03-29 16:35 发表评论
]]>
վ֩ģ壺 | | | ԰| | ٺ| | | | »Ȱ| | dz| ʲ| | ľ| ԰| | | | | ̨| ؼ| ī| | ̫| üɽ| ±| | ̫| ˷| ݶ| | | | | | | | γ| | ԭ|