sql-server - sql server sp_rename table name




Come rinominare una tabella in SQL Server? (4)

La query SQL che ho usato è:

ALTER TABLE oldtable RENAME TO newtable;

Ma mi dà un errore.

Server: messaggio 156, livello 15, stato 1, riga 1
Sintassi errata vicino alla parola chiave "A".


Niente ha funzionato da qui proposto .. Quindi, ho appena esaminato i dati in una nuova tabella

SELECT * 
INTO [acecodetable].['PSCLineReason']
FROM [acecodetable].['15_PSCLineReason'];

forse sarà utile per qualcuno ..

Nel mio caso non ha riconosciuto il nuovo schema anche il dbo era il proprietario ..

AGGIORNARE

EXECUTE sp_rename N'[acecodetable].[''TradeAgreementClaim'']', N'TradeAgreementClaim';

Ha funzionato per me L'ho trovato dallo script generato automaticamente durante l'aggiornamento del PK per una delle tabelle. In questo modo ha riconosciuto anche il nuovo schema ..


Nome tabella

sp_rename "db_name.old_table_name", "new_table_name"

Colonna

sp_rename "db_name.old_table_name.name", "userName", "COLUMN"

Indice

sp_rename "db_name.old_table_name.id", "product_ID", "INDEX"

disponibile anche per statica e tipi di dati


Per rinominare una tabella in SQL Server, utilizzare il comando sp_rename :

exec sp_rename 'schema.old_table_name', 'new_table_name'

Quando si utilizza sp_rename che funziona come nelle risposte precedenti, controlla anche quali oggetti sono interessati dopo la ridenominazione, facendo riferimento a quella tabella, perché è necessario modificare anche quelli

Ho preso un esempio di codice per le dipendenze da tavolo sul blog di Pinal Dave here

USE AdventureWorks
GO
SELECT
referencing_schema_name = SCHEMA_NAME(o.SCHEMA_ID),
referencing_object_name = o.name,
referencing_object_type_desc = o.type_desc,
referenced_schema_name,
referenced_object_name = referenced_entity_name,
referenced_object_type_desc = o1.type_desc,
referenced_server_name, referenced_database_name
--,sed.* -- Uncomment for all the columns
FROM
sys.sql_expression_dependencies sed
INNER JOIN
sys.objects o ON sed.referencing_id = o.[object_id]
LEFT OUTER JOIN
sys.objects o1 ON sed.referenced_id = o1.[object_id]
WHERE
referenced_entity_name = 'Customer'

Quindi, tutti questi oggetti dipendenti devono essere aggiornati anche

Oppure, se possibile, usa qualche componente aggiuntivo, alcuni di essi hanno funzionalità per rinominare l'oggetto e anche tutti gli oggetti dipendenti







alter-table