不常用的SQL语句记录
只知道字段名,查询哪些表有该字段:假如字段名为Index
select sysobjects.name as tablename,syscolumns.name as columnname from syscolumns join sysobjects on sysobjects.id = syscolumns.id where syscolumns.name like '% Index%' 查询数据库中所有的表名: SELECT NAME FROM SYSOBJECTS WHERE TYPE='U' 查看储存过程的内容: 按名查找存储过程: EXEC Sp_HelpText '存储过程名';
按内容查找存储过程:
select b.name from kbmp.dbo.syscomments a,kbmp.dbo.sysobjects b where a.id=b.id and b.xtype='p' and a.text like '%if_check%';
跨数据库查询
--1.建立链接服务器,通过@datasrc指定数据源,适合链接其他多种数据库 EXEC master.dbo.sp_addlinkedserver @server = N'Link', @srvproduct='ms', @provider=N'SQLNCLI', @datasrc=N'远程服务器ip,端口' EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'Link', @useself=N'False', @locallogin=NULL, @rmtuser=N'用户名', @rmtpassword='密码' --2.查询数据select * from Link.[数据库名].[dbo].[表名];
Link 是自定义的名字,下次再需要读取Link的数据库时只需要第二步,第一个可省略
PS:转载请注明出处。