Teradata:如何使用查询获取服务器名称

时间:2014-07-27 15:15:10

标签: teradata

如何在Teradata中使用查询获取服务器名称? 也就是说,如果我正在写一个关于' dev'服务器,它应该返回开发服务器名称。

例如,在Sybase中:我们将使用select @@ servername。

2 个答案:

答案 0 :(得分:2)

在TD中没有像@@ servername那样的东西。 您可以在返回名称的每台服务器上创建一个SQL UDF,例如

REPLACE FUNCTION syslib.#servername ()
RETURNS VARCHAR(30)
LANGUAGE SQL
CONTAINS SQL
DETERMINISTIC
RETURNS NULL ON NULL INPUT
SQL SECURITY DEFINER
COLLATION INVOKER
INLINE TYPE 1
RETURN 'dev'

如果在 syslib 中创建了它,则可以在不符合条件的情况下访问它:

SELECT #servername();

答案 1 :(得分:1)

SELECT CASE 
         WHEN LogonSource LIKE '%UAT%'  THEN 'UAT' 
         WHEN LogonSource LIKE '%PROD%' THEN 'Prod' 
         ELSE 'Unknown' 
       END DatabaseName 
FROM   DBC.SessionInfoV 
WHERE  UserName = 'myname';