Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

chèn bản ghi vào một bảng bằng cách sao chép một hàng của một cột từ một bảng khác

Bạn không thể có hai mệnh đề WHERE trong một tuyên bố:

insert into RECEIVE(Aname , Permission)
  select Aname , 'select' 
  from SEND
  WHERE Aname = 'GREAME'   <=== WHERE #1
  where not exists         <=== WHERE #2
    (select *  from RECEIVE where aname = 'GREAME' and Permission = 'select')

Bạn cần thay đổi phần thứ hai thành AND:

insert into RECEIVE(Aname , Permission)
  select Aname , 'select' 
  from SEND
  WHERE Aname = 'GREAME'  
  AND not exists
    (select *  from RECEIVE where aname = 'GREAME' and Permission = 'select')



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL - Hạn chế số lượng hàng được trả về dựa trên số lượng hàng

  2. Các ký tự thoát khỏi tìm kiếm toàn văn bản trong SQL Server?

  3. Có nhược điểm nào khi sử dụng VARCHAR (MAX) trong một bảng không?

  4. Trình kích hoạt cập nhật SQL Server, Chỉ nhận các trường đã sửa đổi

  5. C # Exception khi kết nối từ xa với phiên bản SQL Server 2005