sql - 如何删除这种类型的表名 [someprefix].table
问题描述
我有一个组织的数据库,其中所有表都如下所示:EMPRE01.table1 EMPRE01.table2 等。
如果我输入这个查询:SELECT * FROM sysobjects WHERE xtype='U'
我会得到这个结果作为表名:table1,table2 但是如果我尝试这个查询:SELECT * FROM table1
只有当我这样输入时它才会起作用:SELECT * FROM EMPRE01.table1
如何将数据库转换为“正常”模式?
解决方案
当您键入查询时:
SELECT * FROM table1
它将搜索为dbo.table1
. 因为,因为dbo
是默认模式。您需要明确说明架构名称:
所以,
SELECT * FROM EMPRE01.table1
注意:这假设查询正在使用相同的数据库。
推荐阅读
- android-sdk-tools - 如何从 OSMDroid 类文件中诊断 dx 错误“invokedynamic requires --min-sdk-version >= 26”?
- java - 如何从 android Studio 解决这个 java 路径错误?
- regex - 捕捉旧的 url 正则表达式
- php - 我无法将数据库中的信息链接到我的 php 文档中
- html - 响应式网页设计 - 如何在不调整标签对齐方式的情况下放大整个页面
- java - 如何在java 8中获取其他json元素的值
- javascript - 消除对象数组中的重复项
- kotlin - 基于 Ktor 的网站的国际化
- java - 密钥提取如何与 Java Comparator.comparing() 方法一起使用?
- r - 将多个 PDF 文件转换为文本(R 语言)