明天的明天 永远的永远 未知的一切 我与你一起承担 ??

是非成败转头空 青山依旧在 几度夕阳红 。。。
  博客园  :: 首页  :: 管理

1、自定义4个常用的存储过程:

sp_select :select * from

sp_helpremark :查表的列,列的类型,备注(这里只查询有备注的列)

sp_columns1 : 查表所有的列,列的类型,length

sp_columns2 :查表所有的列,横向显示

注意:上面4个自定义存储过程,必须在查询分析器中执行后,才能快捷键使用。

 

A) sp_select :

CREATE proc sp_select(@sql varchar(1000))    
as    
begin    
set @sql='select * from ' + @sql;    
exec (@sql);    
end 

B) sp_helpremark :

CREATE PROC [dbo].[sp_helpremark]      
      
@TABLE_NAME VARCHAR(50)      
      
AS      
      
SELECT COLID,SO.NAME,EP.VALUE,SO.LENGTH,MIN(ST.NAME) AS TYPE      
      
FROM  SYS.EXTENDED_PROPERTIES EP      
      
RIGHT JOIN SYS.SYSCOLUMNS SO ON MAJOR_ID=ID AND COLID=MINOR_ID      
      
LEFT JOIN SYS.SYSTYPES ST ON ST.XTYPE=SO.XTYPE      
      
WHERE      
      
ID=OBJECT_ID(@TABLE_NAME)      
      
GROUP BY COLID,SO.NAME,EP.VALUE,SO.LENGTH      
      
ORDER BY COLID

C) sp_columns1 :

CREATE PROC sp_columns1      
@table_name VARCHAR(1000)      
AS      
BEGIN      
SELECT a.name,c.data_type,a.length FROM syscolumns  a            
LEFT JOIN information_schema.columns c  ON a.name=c.column_name               
WHERE a.ID = OBJECT_ID (@table_name)            
      
END

D) sp_columns2 :

CREATE PROC sp_columns2(@table_name VARCHAR(1000))    
AS    
BEGIN    
  
DECLARE @column_name VARCHAR(100)--列名  
DECLARE @columns VARCHAR(1000)--所有列名  
  
SELECT @columns=''  
DECLARE  mycursor cursor  
FOR SELECT name FROM syscolumns WHERE id=(SELECT id FROM sysobjects WHERE name=@table_name)   
OPEN mycursor  
FETCH NEXT FROM  MyCursor INTO @column_name  
 WHILE @@FETCH_STATUS =0  
    BEGIN  
 SELECT @columns=@columns+@column_name+','  
 FETCH NEXT FROM  MyCursor INTO @column_name  
 END  
  
CLOSE MyCursor  
  
DEALLOCATE MyCursor  
  
SELECT @columns  
END    

 

 

 

2、打开数据库,工具>>选项>>键盘:

在存储过程列里,填写按快捷键时执行的存储过程(注:这里的存储过程列需要 写入特定的方法名)

 

再根据上面4个自定义的存储过程名称,选择对应不同的快捷键,确定完成。

 

>>>>>>>>>>>>使用方法:

打开查询分析器: 直接写表名,选中,并按目标快捷组合键,完成查询。