从数据库中选择一个表 [英] Select a table from database
本文介绍了从数据库中选择一个表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在前端显示可用数据库列表。我正在将数据库名称传递给存储过程。
我的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屋!
查看全文