如何将检查约束从 SQL 服务器转换为 Oracle

How to translate check constraint from SQL Server to Oracle

我必须翻译以下 sql 服务器约束:

ALTER TABLE [dbo].[tblLocal_FDIMP_SRCDESCFTP]  WITH CHECK ADD  CONSTRAINT [fmtfile_chk] CHECK  (
   (  (1) = case 
            when [file_type]='LBC' AND [fmtfile]='ZIP' then (1) 
            when ([file_type]='AE' OR [file_type]='TS') AND ([fmtfile] IS NULL OR upper([fmtfile])='ZIP') then (1) 
            else (0) end
))GO

转换为 Oracle 语法的等效约束是什么?

谢谢

为什么人们使用 1 = CASE 作为条件?

ALTER TABLE tblLocal_FDIMP_SRCDESCFTP 
ADD  CONSTRAINT fmtfile_chk CHECK  ((file_type='LBC' AND fmtfile='ZIP') 
                                OR ((file_type='AE' OR file_type='TS') AND (fmtfile IS NULL OR UPPER(fmtfile)='ZIP')));