Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从所有具有相同表模式的数据库中检索数据

从所有具有相同表模式的数据库中检索数据
EN

Stack Overflow用户
提问于 2013-02-12 02:11:17
回答 2查看 1.2K关注 0票数 1

我已经创建了ASP.NET C#网络应用程序(以数据库作为SQL Server 2008)。我的应用程序连接到不同的数据库(例如计数为10)。它们都具有相同的结构,即相同的表名、存储过程名、SP参数计数和类型、表模式都是相同的。

但是内部的数据是不同的.

我在每个数据库dbo.usp_getData1中都有存储过程,它接受,一些参数,,做一些表扫描,并且只检索与该数据库有关的数据。

我的问题是,如何使用一个存储过程(参数/表结构相同)从所有数据库中检索数据?

我可以通过SQL ServerC# Coding实现同样的目标。

意见对我有帮助吗?

代码语言:javascript
运行
AI代码解释
复制
CREATE VIEW [ schema_name . ] view_name [ (column [ ,...n ] ) ] 
[ WITH <view_attribute> [ ,...n ] ] 
AS select_statement 
[ WITH CHECK OPTION ] [ ; ]

<view_attribute> ::= 
{
    [ ENCRYPTION ]
    [ SCHEMABINDING ]
    [ VIEW_METADATA ]     } 
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-12 02:24:23

如果完全限定表名(如Database.Schema.Table ),则可以从多个数据库(位于同一服务器上)进行选择。

参见例如http://www.sqlteam.com/article/selecting-data-from-different-databases

如果您想将数据库名称作为参数传递给您的存储过程,您可能不得不求助于动态SQL,尽管这可能会打开一个全新的蠕虫。

参见例如SQL 2000表名作为存储过程中的变量sql.html

简单的例子:

代码语言:javascript
运行
AI代码解释
复制
CREATE PROCEDURE SelectEverything
    @tableName NVARCHAR(250)
AS
BEGIN
    DECLARE @sql NVARCHAR(500)
    SET @sql = 'SELECT * FROM ' + @tableName;
    EXEC(@sql);
END
GO

如果您执行此proc:

代码语言:javascript
运行
AI代码解释
复制
EXEC dbo.SelectEverything 'SomeOtherDatabase.dbo.SomeTable'

它将在数据库SomeTable的模式dbo中选择表SomeOtherDatabase的所有内容。

但是请阅读有关动态SQL的链接。

票数 1
EN

Stack Overflow用户

发布于 2013-02-12 03:03:09

您可以使用linq到sql并生成一个dbml文件

然后,在初始化数据文本时,可以通过调整连接字符串来访问每个数据库:

代码语言:javascript
运行
AI代码解释
复制
MyDataContext firstDB = new MyDataContext(someConnectionstring);
MyDataContext secondDB = new MyDataContext(someOtherConnectionstring);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14830025

复制
相关文章
mysql数据库(7):表中检索信息
方法一:先删除用 DELETE FROM pet;  去修改txt中内容,再LOAD DATA LOCAL INFILE 'D:/test/pet.txt' INTO TABLE pet;
川川菜鸟
2021/10/18
4.6K0
Oracle数据库列出所有表
可以使用下面的命令来列出当前用户所有的表 select * from tab; select table_name from user_tables; 如果想列出所有的表,可以使用 select table_name from all_tables; ---- Previous Oracle数据库建立表空间、用户以及授权 Next Oracle导入数据
EltonZheng
2021/01/26
1.8K0
查询数据库所有表行数
//查询所有表明 select name from sysobjects where xtype='u'
用户2657851
2020/03/04
2.7K0
Mysql如何清空数据库的所有表数据
SELECT CONCAT('truncate table ',TABLE_NAME,';') AS a FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'db' ;
双面人
2021/06/21
15.4K0
Mysql如何清空数据库的所有表数据
mysql数据库中指定值在所有表中所有字段中的替换
1.写一个存储过程,查指定数据库中所有的表名: CREATE PROCEDURE init_replace(in orig_str varchar(100),in new_str varchar(100),in db_name varchar(100)) BEGIN DECLARE t_name VARCHAR(50); DECLARE done int default 0; DECLARE cur CURSOR FOR SELECT DISTINCT table_name as name FROM INF
憨批程序员
2020/10/18
8.4K0
无法启用数据库中的 Service Broker,因为已存在启用的具有相同 ID 的 Service Broker。
场景: sql2005数据库,假如名为db1,启用了Service Broker,把db1备份,然后再恢复成db2(即相当于db2就是db1的一次完整镜像备份),然后用 use master ALTER DATABASE db2 set ENABLE_BROKER 想启用Broker时,出现以下错误: 无法启用数据库 "db2" 中的 Service Broker,因为已存在启用的具有相同 ID 的 Service Broker。 解决办法: use master alter database db2
菩提树下的杨过
2018/01/22
2.2K0
Kotlin (Java) 获取 mysql 数据库的所有表,表的所有字段,注释,字段类型
import com.mysql.jdbc.jdbc2.optional.MysqlDataSource import org.slf4j.LoggerFactory import org.springframework.stereotype.Service import java.sql.* import java.util.* import javax.sql.DataSource @Service class Mysql2OdpsService { /** * 生成 ODPS DD
一个会写诗的程序员
2019/10/15
10.2K0
mysql过滤表中重复数据,查询表中相同数据的最新一条数据
先对表按照时间desc排序,在查询该层使用group by 语句,它会按照分组将你排过序的数据的第一条取出来
安德玛
2022/03/09
5.6K0
Power Pivot中如何计算具有相同日期数据的移动平均?
解释:这里需要2个条件,除了日历条件,还需要添加一个日期是否有值的条件,也就是汇总金额这里需要为非空。
逍遥之
2020/03/24
3.2K0
Power Pivot中如何计算具有相同日期数据的移动平均?
查询数据库中带有某个字段的所有表名
SELECT * FROM information_schema.columns WHERE column_name='column_name';
静谧的小码农
2019/01/11
6.4K0
C++核心准则C.134:确保所有非常量数据成员具有相同的访问权限‍
C.134: Ensure all non-const data members have the same access level
面向对象思考
2020/03/25
8260
Mysql中查询数据库中包含某个字段的所有表名
有一个商品的名称配置错误了,需要进行修改,但是涉及到的表太多了,因为商品的sku_name被冗余到了很多表中,一个一个的找非常的费事费力,特地记下便捷查询操作以备后用。
翎野君
2023/05/12
4.8K0
mysql清空数据库所有表的命令_mysql清空表数据命令是什么?_数据库,mysql,清空表数据…[通俗易懂]
2、在mysql安装目录下,新建my.ini文件,设置默认字符集、端口、存储引擎等;
全栈程序员站长
2022/06/28
20.3K0
mysql清空数据库所有表的命令_mysql清空表数据命令是什么?_数据库,mysql,清空表数据…[通俗易懂]
把 excel 表中的数据 批量修改到指定数据库表中、根据 excel 表中数据修改数据库表中数据
1. 收到一张 excel 表,要求根据 “转账时间”一列的值批量修改数据库表中 "放款时间"一列的值。
微风-- 轻许--
2019/07/02
4.9K0
把 excel 表中的数据 批量修改到指定数据库表中、根据 excel 表中数据修改数据库表中数据
Python | 数据库中的表
表(TABLE)是数据库中用来存储数据的对象,是有结构的数据的集合,是整个数据库系统的基础。SQL数据库中用于存储数据的工具。
算法与编程之美
2021/07/30
1.5K0
数据库的检索语句
仅仅要运行“SELECT * FROM 名”就可以。SELECT * FROM T_Employee 。
全栈程序员站长
2022/07/06
2.6K0
数据库的检索语句
[MySQL] INFORMATION_SCHEMA 数据库包含所有表的字段
sql注入后可以通过该数据库获取所有表的字段信息 1. COLLATIONS表 提供有关每个字符集的排序规则的信息。 COLLATIONS表包含以下列: COLLATION_NAME 排序规则名称。 CHARACTER_SET_NAME 与排序规则关联的字符集的名称。 ID 排序规则ID。 IS_DEFAULT 排序规则是否为其字符集的默认值。 IS_COMPILED 字符集是否已编译到服务器中。 SORTLEN 这与对字符集中表示的字符串进行排序所需的内存量有关。
唯一Chat
2019/09/10
1.3K0
点击加载更多

相似问题

从所有具有"Where“条件的数据库表中检索所有行

23

从具有可选值的数据库表中检索所有组合

13

从具有相同id的多个表中检索数据

12

如何从具有相同列名多个表中检索数据

20

从mysql中具有相同字段的多个表中检索数据

14
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档