0
我正在将PostgreSQL查询转换为SQL服务器,并试图了解下面的查询究竟做了什么。我理解这些联合,但其余的都不明确。任何人都可以请帮我在这里。将用户访问查询从PostgreSQL转换为SQL Server
select c.name
FROM CNT c
LEFT JOIN shares s ON
c.id = s.id AND s.username::name = "current_user"()
WHERE c.username::name = "current_user"() OR 'admin'::text = ((SELECT user_role_privs.granted_role
FROM user_role_privs
WHERE user_role_privs.granted_role = 'admin'::text)) OR s.username IS NOT NULL AND s.grantee_username::text <> ''::text
感谢这一点,但'dbo.user_role_privs'似乎并不是SQL Server中的有效对象。它看起来像一个postgreSQL系统表。 – user3844877 2014-09-30 11:56:21
我更改为使用IS_NUMBER函数,如果当前用户是指定数据库角色的成员,则返回1。 – 2014-09-30 12:04:04