1

ストアド プロシージャを作成しようとしていますが、「incorrect syntax near deleteselect または '('' が必要です」というエラーが表示されます。

CREATE PROCEDURE NSP166_DeleteDMSPermission  
 @PermissionID uniqueidentifier  ,
 @FunctionalDetailsId uniqueidentifier
AS  
BEGIN  

if(SELECT count(PermissionID) AS counts FROM NSP166_RolePermissionTrans where PermissionID=@PermissionID)>1
(
delete from NSP166_RolePermissionTrans where FunctionalDetailsId=@FunctionalDetailsId
)END
4

1 に答える 1

3

for の構文でifは括弧を使用しません。

CREATE PROCEDURE NSP166_DeleteDMSPermission  
 @PermissionID uniqueidentifier  ,
 @FunctionalDetailsId uniqueidentifier
AS  
BEGIN  
    if (SELECT count(PermissionID) AS counts
        FROM NSP166_RolePermissionTrans
        where PermissionID=@PermissionID) > 1
    begin
        delete from NSP166_RolePermissionTrans
            where FunctionalDetailsId=@FunctionalDetailsId
    end
end;
于 2013-08-17T11:07:02.053 に答える