role_permissions라는 조인 테이블에서 역할 및 사용 권한 테이블이 있습니다.TSQL 루프가 존재하지 않는 곳
모든 역할에 대해 해당 역할에 아직 권한이없는 경우 새 권한을 삽입하고 싶습니다. 내 루프의 문제점은 단일 행 (역할) 만 업데이트된다는 것입니다. 루프는 제대로 각 루프
DECLARE @role_id INT
SET @role_id = (SELECT TOP 1 role_id FROM p_role_permissions WHERE NOT EXISTS (SELECT NULL FROM p_role_permissions WHERE permission_id = 57))
WHILE @role_id IS NOT NULL
BEGIN
INSERT INTO p_role_permissions (role_id, permission_id) VALUES(@role_id, 57)
-- does not appear to evaluate correctly (works only on the first loop)
SET @role_id = (SELECT TOP 1 role_id FROM p_role_permissions WHERE NOT EXISTS (SELECT NULL FROM p_role_permissions WHERE permission_id = 57))
END
귀하' NOT EXISTS' 하위 쿼리는 외부 쿼리와 상관 관계가 없습니다. –