3
중복 된 userId가있는 행이있는 테이블이 있습니다. 나는테이블에서 행을 삭제하는 동안 권한
delete from table_name where userId=123
나는 데이터베이스에 권한을 선택 모두 포기하고 삭제하면이 쿼리에만 작동으로 행의 삭제하려합니다. 선택 권한을 부여하는 것이 의무입니까?
중복 된 userId가있는 행이있는 테이블이 있습니다. 나는테이블에서 행을 삭제하는 동안 권한
delete from table_name where userId=123
나는 데이터베이스에 권한을 선택 모두 포기하고 삭제하면이 쿼리에만 작동으로 행의 삭제하려합니다. 선택 권한을 부여하는 것이 의무입니까?
대상 테이블에 DELETE 권한이 필요합니다. 명령문에 WHERE 절이 있으면 SELECT 권한이 필요합니다. 여기에 마이크로 소프트에서 링크는, 권한 섹션
은 왜 그런지 아십니까 참조? * DELETE * 문에 * WHERE * 절이 있으면 행을 삭제하는 동안 * DELETE * 사용 권한 이외에 * SELECT * 사용 권한이 필요한 이유는 무엇입니까? – Lion
정확히 왜 그런지 모르겠지만 SQL Server 엔진은 SELECT (선택 권한이 필요함)를 먼저 수행하여 조건을 만족하는 행을 가져온 다음 DELETE를 실행합니다. – kosa
여기에 관련된 정보가 있습니다. http://sqlblog.com/blogs/linchi_shea/archive/2011/10/17/is-the-select-permission-checked-in-an-update-statement.aspx – Naveen