从数据库中选择一个表 [英] Select a table from database

查看:295
本文介绍了从数据库中选择一个表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述





我在前端显示可用数据库列表。我正在将数据库名称传递给存储过程。



我的sql查询sp:

  exec  '  sample_db' 



我的SP:

  alter   procedure  sp_sample_db 
@ db_name nvarchar 100
AS
BEGIN
SET NOCOUNT ON ;
如果 存在选择 name 来自 master.dbo.sysdatabases 其中 name = @db_name)
开始
选择 * 来自 @db_name .dbo.my_table
end
else
开始
print ' db not exists'
end
END
GO





我知道可以使用

  select  * 来自 [sample_db] .dbo.my_table 



但我想以其他方式尝试。请帮忙。

提前致谢

解决方案

Chk this:

 声明  @ db_name   varchar  20 )= '  testTB' 
< span class =code-keyword>选择名称来自 master.dbo.sysdatabases 其中 name = @db_name
声明 @ q varchar 1000
set @q = ' SELECT * FROM' + @db_name + ' 。dbo.my_tabl e'
exec @ q


Hi,

I am showing list of available databases in front-end. I am passing database name to stored procedure.

My Sql Query for sp:

exec 'sample_db'


My SP:

alter procedure sp_sample_db
@db_name nvarchar(100)
AS
BEGIN
SET NOCOUNT ON;
if exists(select name from master.dbo.sysdatabases where name =@db_name)
   begin
      select * from @db_name.dbo.my_table
   end
else
   begin
      print 'db not exists'
   end
END
GO



I know it can be done by using

select * from  [sample_db].dbo.my_table


But I want to try this some other way. Please help.
Thanks in advance

解决方案

Chk this :

Declare @db_name varchar(20)='testTB' 
select name from master.dbo.sysdatabases where name=@db_name 
declare @q varchar(1000) 
set @q = 'SELECT * FROM ' + @db_name + '.dbo.my_table' 
exec (@q)


这篇关于从数据库中选择一个表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆