惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

G
Google Developers Blog
Apple Machine Learning Research
Apple Machine Learning Research
小众软件
小众软件
Recent Announcements
Recent Announcements
阮一峰的网络日志
阮一峰的网络日志
IT之家
IT之家
A
About on SuperTechFans
量子位
Engineering at Meta
Engineering at Meta
B
Blog
The Cloudflare Blog
博客园 - 【当耐特】
Hugging Face - Blog
Hugging Face - Blog
Y
Y Combinator Blog
J
Java Code Geeks
D
DataBreaches.Net
aimingoo的专栏
aimingoo的专栏
T
Tailwind CSS Blog
H
Help Net Security
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
V
V2EX
Stack Overflow Blog
Stack Overflow Blog
C
Check Point Blog
酷 壳 – CoolShell
酷 壳 – CoolShell

博客园 - yiyanxiyin

一个linq左连接查询速度问题 利用vba实现excel表格连接打印编号(一页两个编号),编号支持前缀 使用反射让linq实现动态查询, 类似拼接sql语句的where 条件 中断工作流并持久化到数据库中【源码】 按模板生成word报表,可扩展,demo可生成多页 在非asp.net程序中使用缓存 固定table的行列 固定table的cell宽度,多余的文字隐藏 - yiyanxiyin - 博客园 wcf中异步与双向通讯的区别 解决msmq私有队列不能持久保存的问题 原创:一个相当有用的宏(for vs.net),该宏能大大的提高开发速度 Response.Redirect()与Server.Transfer()的区别 cellIndex在隐藏td中的问题,bug?(ie6) - yiyanxiyin - 博客园 一个format格式问题 - yiyanxiyin - 博客园 参透js 搞不懂的js 个人作品:全文搜索Access中的数据(附.net源代码) 个人作品:存储过程代码生成器(for MS SQL Server) 原创技术文章:保存帐号信息通用类(使用Session或者Cookie)
sqlserver中使用查询分析器的一点小技巧
yiyanxiyin · 2007-09-01 · via 博客园 - yiyanxiyin

begin tran
DROP proc sp_alterProc
GO


/*
 说明:修改某一存储过程,可以是视图(这两者用得最多,当然也可以扩展为其他的,如触发器)
 用途:针对经常写存储过程的人,使用在查询分析器中,在查询分析器的“工具-〉自定义”中设一快捷键(我使用的Ctrl+9),存储过程设为"sp_alterProc"(注意:前后都不能有空格)
  在查询分析器的编辑窗口中选中某一存储过程的名字,按设定的快捷键,可显示出该存储过程的完整代码,
  这样可以以最快的方式打开并修改存储过程,提高修改存储过程的速度,不需要手动去找到某一存储过程,然后打开。(强烈推荐)
 作者:yx
*/

CREATE  proc sp_alterProc
 @procName varchar(255)

as
 
 set nocount on

 create table #t(a nvarchar(255))

 /*之所以要先删除存储过程是因为无法得到存储过程的修改时间,如果删除再创建就可以将创建时间当成是修改时间,这样就知道存储过程好久被修改过了*/ 

 insert into #t(a)

  select 'begin tran'
  union
  select case when exists(select * from sysobjects where name = @procName and xtype = 'V') then 'DROP view ' else 'DROP proc ' end + @procName
  
  union
  
  select 'GO'
 
 
  insert into #t(a) exec sp_helptext @procName

 insert into #t(a)
  
  select 'GO'
  union
  
  select 'if @@error<>0 rollback tran else commit tran'

 /*如果直接select * from #t将输出结果显示为表格,有的字符会被转化,比如TAB变成了空格,使用游标的目的是防止这些字符被转变,然后好拷贝、粘贴、修改*/

 declare @sql nvarchar(255) /*不管一行代码多长都能显示出来。为什么要定义成nvarchar(255)可以查看sp_helptext的源代码*/

 declare mycursor cursor for select a from #t

 open mycursor

 fetch next from mycursor into @sql

 while @@fetch_status = 0 begin

  print @sql

  fetch next from mycursor into @sql

 end 

 close mycursor

 deallocate mycursor
 
 
 drop table #t

 set nocount off


GO
if @@error<>0 rollback tran else commit tran


begin tran
DROP proc sp_select
GO
/*
 说明:显示某一表或视图的数据
 用途:针对经常写存储过程的人,使用在查询分析器中,在查询分析器的“工具-〉自定义”中设一快捷键(我使用的Ctrl+7),
  在查询分析器的编辑窗口中选中某一表的名字,按设定的快捷键,可显示出该表的所有数据,
  这样可以以最快的方式打开表的数据,不需要手动去找到某表,然后再打开。(强烈推荐)
 作者:yx
*/
create proc sp_select
 @tableName varchar(255)
as
 exec('select * from ' + @tableName)
GO
if @@error<>0 rollback tran else commit tran