Sql 子查询返回了多个值-正在尝试打印数据库的名称
我试图找到并显示一个数据库名称列表,这些数据库名称绝不是处于理想的镜像状态。当一个数据库处于这种状态时,下面的代码可以工作,但是当超过这种状态时,我得到了这个问题所指的错误:Msg 512,级别16,状态1,第4行 子查询返回了多个值。当子查询在=、!=、=或者当子查询用作表达式时 这是我的密码: 声明@result int 声明@dbs varchar256Sql 子查询返回了多个值-正在尝试打印数据库的名称,sql,Sql,我试图找到并显示一个数据库名称列表,这些数据库名称绝不是处于理想的镜像状态。当一个数据库处于这种状态时,下面的代码可以工作,但是当超过这种状态时,我得到了这个问题所指的错误:Msg 512,级别16,状态1,第4行 子查询返回了多个值。当子查询在=、!=、=或者当子查询用作表达式时 这是我的密码: 声明@result int 声明@dbs varchar256 SET @result = (SELECT database_id from sys.database_mirroring WHERE
SET @result = (SELECT database_id from sys.database_mirroring WHERE mirroring_state_desc in ('SUSPENDED','DISCONNECTED','PENDING_FAILOVER'))
SET @dbs = (SELECT name from sys.databases where database_id = @result)
if @@ROWCOUNT > 0
print @dbs
非常感谢您的帮助
布拉德。你真的需要打印吗?可能尝试以这种方式显示数据库列表:
SELECT name
from sys.databases
where database_id in (SELECT database_id
from sys.database_mirroring
WHERE mirroring_state_desc in ('SUSPENDED','DISCONNECTED','PENDING_FAILOVER')
)
你真的需要印刷吗?可能尝试以这种方式显示数据库列表:
SELECT name
from sys.databases
where database_id in (SELECT database_id
from sys.database_mirroring
WHERE mirroring_state_desc in ('SUSPENDED','DISCONNECTED','PENDING_FAILOVER')
)
请试试这个:
从sys.database\u mirroring中选择数据库\u id进入temp1,其中镜像状态\u desc位于“挂起”、“断开连接”、“挂起\u故障切换”
从sys.databases中选择名称,其中temp1中的数据库_id
其中temp1是您的临时表请尝试以下操作:
从sys.database\u mirroring中选择数据库\u id进入temp1,其中镜像状态\u desc位于“挂起”、“断开连接”、“挂起\u故障切换”
从sys.databases中选择名称,其中temp1中的数据库_id
其中temp1是临时表错误非常明显。你的问题是什么?因为,你试图将一组值存储到一个变量中..你得到了那个错误我应该更具体一些,但是是的,我理解错误的意思,我在想办法绕过它。。我认为这是暗示,但如果不是,我道歉。错误是很明显的。你的问题是什么?因为,你试图将一组值存储到一个变量中..你得到了那个错误我应该更具体一些,但是是的,我理解错误的意思,我在想办法绕过它。。我以为这是暗示,但如果不是,我道歉。@minthol我很高兴能帮助你:@Paradoniceunderstanding@AmitSingh真的谢谢@薄荷醇我很高兴能帮助你:@Paradoniceunderstanding@AmitSingh真的谢谢!