как проверить, все ли столбцы во входной таблице пусты в SQL - PullRequest
0 голосов
/ 10 октября 2019

У меня есть хранимая процедура, которая принимает массив строк в качестве одного из параметров. Я хочу проверить все поля строки и, если они все пусты, кроме line_id, не вставляйте эту строку в базу данных оракула. В Java или C # это условие мне бы хотелось (! (A == c == f == "")). Как я могу сделать это в SQL? Я попробовал это: если нет (a = c = f и f является нулем), то вставьте ...

UPD: мне не нужно создавать новую процедуру, я только хочу проверить поля одного изПараметры INPUT, представляющие собой таблицу.

UPD2: На самом деле, мой вопрос больше о синтаксисе аналогичного условия условия в SQL

ОТВЕТ: если нет (COALESCE (a, c, f) - этоnull) затем вставьте ...

Спасибо, @Conrad Frix.

Ответы [ 2 ]

2 голосов
/ 10 октября 2019

Вы можете использовать Coalesce. Например

Например

Insert into table1 (...) Select .... From table2 Where COALECE(a,b,c) is not null

0 голосов
/ 10 октября 2019

Это то, что вы хотите?

      Create procedure checkdata  
      As 
      IIF(Select count(*) from table where
            A Is NULL and B is Null and C is 
            Null and LineId Is not 
            null  >1)
      Then
      ..... 
      Else 
      Insert into table values as Select * 
      from table

      End IF;
       End;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...