Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 接受用户参数并显示结果的存储过程_Sql Server_Sql Server 2008 - Fatal编程技术网

Sql server 接受用户参数并显示结果的存储过程

Sql server 接受用户参数并显示结果的存储过程,sql-server,sql-server-2008,Sql Server,Sql Server 2008,我有一个数据库,它有两个表。一个表包含我环境中所有服务器的信息,包括服务器名称、数据库名称、应用程序、优先级dba等。另一个表包含所有dba的联系信息,如他们的电话号码、电子邮件等。我想编写一个存储过程,它接受来自用户的3个值,即服务器名称、数据库和应用程序。然后,它应该基于此信息唯一地标识主DBA,并显示该DBA的所有联系信息。 我想我可以从表1中识别主要DBA并显示表2中的结果。 这可能是一项非常简单的任务,但我是一名新的DBA,因此任何人都可以提供帮助。由于我不知道您的数据结构,很难给出确

我有一个数据库,它有两个表。一个表包含我环境中所有服务器的信息,包括服务器名称、数据库名称、应用程序、优先级dba等。另一个表包含所有dba的联系信息,如他们的电话号码、电子邮件等。我想编写一个存储过程,它接受来自用户的3个值,即服务器名称、数据库和应用程序。然后,它应该基于此信息唯一地标识主DBA,并显示该DBA的所有联系信息。 我想我可以从表1中识别主要DBA并显示表2中的结果。
这可能是一项非常简单的任务,但我是一名新的DBA,因此任何人都可以提供帮助。

由于我不知道您的数据结构,很难给出确切的信息,但您应该能够修改它

CREATE PROCEDURE GetDBAForServer (@ServerName varchar(100), @DatabaseName varchar(100), @ApplicationName varchar(100))
AS 
SELECT di.*
FROM server_info si
INNER JOIN dba_info di on si.pri_dba = di.id
WHERE si.name = @ServerName
  AND si.dbname = @DatabaseName
  AND si.appname = @ApplicationName
那么你可以称之为:

EXEC GetDBAForServer 'Server1', 'Database3', 'Application2'

希望这有帮助

试试这样的东西。显然,您需要替换正确的列名

CREATE PROCEDURE IdentifyDBA (@Srv VARCHAR(20), @DB VARCHAR(20), App VARCHAR(20))
AS
BEGIN
    SELECT B.*
    FROM DBATable B
    INNER JOIN AssetTbl A
        ON A.dba = B.Pri_DBA
    WHERE A.ServerName = @Srv
    AND A.DBName = @DB
    AND A.AppName = @App
END

EXEC IdentifyDBA 'ServerA', 'DatabaseA', 'ApplicationA'

你试过写你想要获取的信息的查询了吗?很好。你试过什么?到目前为止,我所能做的就是从联系人信息a中选择*,其中a.dba=b.pri\U dba b是第一个表。。。但我不知道在我的查询中引用它……到目前为止,我只知道:创建过程联系srv_name varchar500 db_name varchar200 application varchar300 as begin Declare pri varchar500 pri=select pri_dba from db_details其中server_name=srv_name和db_name=db_name和app_name=application select*fromdba_联系人,其中dba_name=pri go