How could i write CASE Clause in sql server 2005 ? it errors
Here is my code :
CASE @accesslevel
WHEN 'Order' THEN
INSERT INTO Permissions(UserAccountID,PrintOrder)
VALUES(@userid,1)
WHEN 'Cashier' THEN
INSERT INTO Permissions(UserAccountID,PrintInvoice,SaveAndClear)
VALUES(@userid,1,1)
WHEN 'Supervisor' THEN
INSERT INTO Permissions(UserAccountID,TableOperation,
ExchangeRate,SaleReport,Section,Category,
MenuItem,DeleteOrder,DeleteOneItem,MergeTable,
SplitTable,PrintInvoice,PrintOrder,CalculateChange,
SaveAndClea)
VALUES(@userid,1,1,1,1,1,1,1,1,1,1,1,1,1,1)
WHEN 'Manager' THEN
INSERT INTO Permissions(UserAccountID,TableOperation,
ExchangeRate,SaleReport,Section,Category,
MenuItem,DeleteOrder,DeleteOneItem,MergeTable,
SplitTable,PrintInvoice,PrintOrder,CalculateChange,
SaveAndClear,DailyIncome)
VALUES(@userid,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1)
ELSE
INSERT INTO Permissions(UserAccountID,TableOperation,
ExchangeRate,TablePicture,SaleReport,DailyIncome,
Section,Category,MenuItem, UserAccount,UserPermission,
StaffManagement,DeleteOrder,DeleteOneItem,MergeTable,
SplitTable,PrintInvoice,PrintOrder,CalculateChange,
SaveAndClear)
VALUES(@userid,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1)
END CASE
I don’t think you can use
CASEstatement to execute some actions (inserts, updates…), it’s used to calculate expressions. You can useIF..ELSEstatement: