如何在Teradata中使用查询获取服务器名称? 也就是说,如果我正在写一个关于' dev'服务器,它应该返回开发服务器名称。
例如,在Sybase中:我们将使用select @@ servername。
答案 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';