stored - sql server create procedure input parameters




SQL Server SELECT nella tabella esistente (4)

Esistono due modi diversi per implementare l'inserimento di dati da una tabella a un'altra tabella.

Per tabella esistente - INSERT INTO SELECT

Questo metodo viene utilizzato quando la tabella è già stata creata nel database in precedenza e i dati devono essere inseriti in questa tabella da un'altra tabella. Se le colonne elencate nella clausola insert e nella clausola select sono uguali, non è necessario elencarle. È buona norma elencarli sempre per motivi di leggibilità e scalabilità.

----Create testable
CREATE TABLE TestTable (FirstName VARCHAR(100), LastName VARCHAR(100))
----INSERT INTO TestTable using SELECT
INSERT INTO TestTable (FirstName, LastName)
SELECT FirstName, LastName
FROM Person.Contact
WHERE EmailPromotion = 2
----Verify that Data in TestTable
SELECT FirstName, LastName
FROM TestTable
----Clean Up Database
DROP TABLE TestTable

Per tabella non esistente - SELEZIONA INTO

Questo metodo viene utilizzato quando la tabella non viene creata in precedenza e deve essere creata quando i dati di una tabella devono essere inseriti nella tabella appena creata da un'altra tabella. La nuova tabella viene creata con gli stessi tipi di dati delle colonne selezionate.

----Create a new table and insert into table using SELECT INSERT
SELECT FirstName, LastName
INTO TestTable
FROM Person.Contact
WHERE EmailPromotion = 2
----Verify that Data in TestTable
SELECT FirstName, LastName
FROM TestTable
----Clean Up Database
DROP TABLE TestTable

Rif. 1 2

Sto cercando di selezionare alcuni campi da una tabella e inserirli in una tabella esistente da una stored procedure. Ecco cosa sto cercando:

SELECT col1, col2
INTO dbo.TableTwo 
FROM dbo.TableOne 
WHERE col3 LIKE @search_key

Penso che select in è per le tabelle temporanee ed è per questo che ottengo un errore che dbo.TableTwo esiste già.

Come posso inserire più righe da dbo.TableOne in dbo.TableTwo ?


Funzionerebbe come indicato di seguito:

insert into Gengl_Del Select Tdate,DocNo,Book,GlCode,OpGlcode,Amt,Narration 
from Gengl where BOOK='" & lblBook.Caption & "' AND DocNO=" & txtVno.Text & ""

SELECT ... INTO ... funziona solo se la tabella specificata nella clausola INTO non esiste - altrimenti, devi usare:

INSERT INTO dbo.TABLETWO
SELECT col1, col2
  FROM dbo.TABLEONE
 WHERE col3 LIKE @search_key

Questo presuppone che ci siano solo due colonne in dbo.TABLETWO - devi specificare le colonne altrimenti:

INSERT INTO dbo.TABLETWO
  (col1, col2)
SELECT col1, col2
  FROM dbo.TABLEONE
 WHERE col3 LIKE @search_key

select *
into existing table database..existingtable
from database..othertables....

Se hai già usato select * into tablename from other tablenames select * into existing table tablename from other tablenames , la prossima volta, per aggiungere, dici select * into existing table tablename from other tablenames





stored-procedures