Убедитесь, что в таблице нет записей, затем вставьте 3 записи в таблицу. - PullRequest
0 голосов
/ 09 января 2012

Я хочу проверить, если в таблице нет записей, а затем вставить только 3 записи в таблицу для сервера sql и оракула. ​​

Ответы [ 4 ]

2 голосов
/ 09 января 2012

Эта конструкция будет работать в SQL Server и Oracle:

SQL> insert into t34
  2  select * from emp where id <= 3
  3  and 0 in ( select count(*) from t34 )
  4  /

3 rows created.

SQL> r
  1  insert into t34
  2  select * from emp where rownum <= 3
  3* and 0 in ( select count(*) from t34 )

0 rows created.

SQL> 

Но может ли это решить вашу проблему, действительно зависит от источника ваших трех строк.

0 голосов
/ 09 января 2012

Вам просто нужно сделать что-то вроде этого:

IF (Select count(*) from tablename) = 0
BEGIN
   -- INSERT VALUES
END
0 голосов
/ 09 января 2012

Если вы хотите вставить значения в одно предложение вставки, вы можете сделать это следующим образом:

insert into yourTable (yourFields)
select value1 as yourField1, ...
where (select count(*) from yourTable ) =0

Тестирование :

create table #t (k int);

insert into #t
select 1
where (select count(*) from #t ) =0

insert into #t 
select 2 as k;

insert into #t
select 3
where (select count(*) from #t ) =0

select * from #t;

Обратите внимание, что только '1 'и' 2 'вставлены, а не' 3 '.

0 голосов
/ 09 января 2012

в чем была проблема с этим ..

попробуй с твоей стороны ..

int count = select count(*) from table-name;
if(count==0){
   //your insert statements as many as
   insert into table-name values();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...