如何将检查约束从 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')));
我必须翻译以下 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')));