variable una tabla sirven renombrar que para nombre los esquemas esquema consultar consulta columna cambiar sql sql-server tsql schema

una - para que sirven los esquemas en sql server



Cambiar el nombre del esquema de la tabla en SQL (10)

A través de SSMS, creé un nuevo esquema por:

  • Al hacer clic en la carpeta de Seguridad en el Explorador de objetos dentro de mi servidor,
  • clic derecho Schemas
  • Seleccionado "Nuevo esquema ..."
  • Nombrado mi nuevo esquema (exe en tu caso)
  • Presione Aceptar

Encontré esta publicación para cambiar el esquema, pero también recibí el mismo error de permisos al intentar cambiar al nuevo esquema. Tengo varias bases de datos enumeradas en mi SSMS, así que solo intenté especificar la base de datos y funcionó:

USE (yourservername) ALTER SCHEMA exe TRANSFER dbo.Employees

Quiero cambiar el nombre del esquema de la tabla Employees en la base de datos. En la tabla actual, el nombre del esquema de la base de datos de Employees es dbo . Quiero cambiarlo a exe . Cómo puedo hacerlo ?

Ejemplo:

DE

dbo.Employees

A

exe.Employees

Intenté con esta consulta:

ALTER SCHEMA exe TRANSFER dbo.Employees

Pero esto me da un error:

No se puede modificar el esquema ''exe'' porque no existe o no tiene permiso.

¿Qué me perdí?


Asegúrese de estar en el contexto correcto de la base de datos en SSMS. Tengo el mismo error que tú, pero sabía que el esquema ya existía. No me di cuenta de que estaba en el contexto ''MASTER''. ALTER funcionó después de cambiar el contexto de mi base de datos.



Pruebe debajo

declare @sql varchar(8000), @table varchar(1000), @oldschema varchar(1000), @newschema varchar(1000) set @oldschema = ''dbo'' set @newschema = ''exe'' while exists(select * from sys.tables where schema_name(schema_id) = @oldschema) begin select @table = name from sys.tables where object_id in(select min(object_id) from sys.tables where schema_name(schema_id) = @oldschema) set @sql = ''alter schema '' + @newschema + '' transfer '' + @oldschema + ''.'' + @table exec(@sql) end


Tenga mucho cuidado al cambiar el nombre de los objetos en sql. Puede causar que las dependencias fallen si no está completamente ausente con lo que está haciendo. Una vez dicho esto, esto funciona fácilmente (demasiado) para cambiar el nombre de las cosas, siempre que tenga acceso adecuado al entorno:

exec sp_rename ''Nameofobject'', ''ReNameofobject''


Tu código es:

FROM dbo.Employees TO exe.Employees

Intenté con esta consulta.

ALTER SCHEMA exe TRANSFER dbo.Employees

Simplemente escriba create schema exe y ejecútelo


Para crear un nuevo esquema, siga los pasos a continuación:

1. Open your Database. 2. Route to Security folder. 3. Inside it is a folder named Schema. 4. Right click the schema folder> New Schema. 5. Add a Schema > Click OK.

Para modificar un esquema, ejecute el siguiente comando sql:

ALTER SCHEMA new_schema TRANSFER dbo.Employees


Crear esquema:

IF (NOT EXISTS (SELECT * FROM sys.schemas WHERE name = ''exe'')) BEGIN EXEC (''CREATE SCHEMA [exe] AUTHORIZATION [dbo]'') END

ALTER esquema:

ALTER SCHEMA exe TRANSFER dbo.Employees


ALTER SCHEMA NewSchema TRANSFER [OldSchema].[TableName]

Siempre tengo que usar los corchetes cuando uso la consulta ALTER SCHEMA en SQL, o recibo un mensaje de error.


CREATE SCHEMA exe AUTHORIZATION [dbo] GO ALTER SCHEMA exe TRANSFER dbo.Employees GO

Para más detalles haga clic aquí