Zmiana nazwy schematu tabeli w SQL
Chcę zmienić nazwę schematu tabeli Employees
w bazie danych. W bieżącej tabeli Employees
nazwa schematu bazy danych to {[5] } chcę zmienić go na exe
. Jak mogę to zrobić ?
Przykład:
Od
dbo.Employees
Do
exe.Employees
Próbowałem z tym zapytaniem:
ALTER SCHEMA exe TRANSFER dbo.Employees
Ale to daje mi błąd:
Co mnie ominęło?Nie można zmienić schematu 'exe', ponieważ nie istnieje lub nie masz pozwolenie.
10 answers
Utwórz Schemat:
IF (NOT EXISTS (SELECT * FROM sys.schemas WHERE name = 'exe'))
BEGIN
EXEC ('CREATE SCHEMA [exe] AUTHORIZATION [dbo]')
END
ALTER Schema:
ALTER SCHEMA exe
TRANSFER dbo.Employees
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-06-10 19:02:45
Spróbuj poniżej
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
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-03-18 17:20:13
ALTER SCHEMA NewSchema TRANSFER [OldSchema].[TableName]
Zawsze muszę używać nawiasów, gdy używam zapytania ALTER SCHEMA
w SQL, lub otrzymuję komunikat o błędzie.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-09-25 20:25:16
Poprzez SSMS utworzyłem nowy schemat przez:
- kliknięcie folderu zabezpieczenia w Eksploratorze obiektów na moim serwerze,
- Schematy klikane prawym przyciskiem myszy
- Wybrano " Nowy Schemat..."
- nazwałem mój nowy schemat (exe w Twoim przypadku)
- Hit OK
Znalazłem ten post, aby zmienić schemat, ale był również uzyskanie tego samego błędu uprawnień podczas próby zmiany do nowego schematu. Mam kilka baz danych wymienionych w moim SSMS, więc po prostu próbowałem określić bazę danych i zadziałało:
USE (yourservername)
ALTER SCHEMA exe TRANSFER dbo.Employees
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-10-15 22:47:05
Twój kod to:
FROM
dbo.Employees
TO
exe.Employees
Próbowałem z tym zapytaniem.
ALTER SCHEMA exe TRANSFER dbo.Employees
Wystarczy napisać create schema exe
i wykonać
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-10-08 11:51:14
CREATE SCHEMA exe AUTHORIZATION [dbo]
GO
ALTER SCHEMA exe
TRANSFER dbo.Employees
GO
Po Więcej Szczegółów Kliknij tutaj
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-12-02 05:59:19
Sprawdź MSDN...
CREATE SCHEMA
: http://msdn.microsoft.com/en-us/library/ms189462.aspx
Then
ALTER SCHEMA
: http://msdn.microsoft.com/en-us/library/ms173423.aspx
Lub możesz to sprawdzić na tak...
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 11:47:31
Bądź bardzo ostrożny zmieniając nazwy obiektów w sql. Możesz spowodować niepowodzenie zależności, Jeśli nie jesteś w pełni z tego, co robisz. Powiedziawszy, że to działa łatwo (za bardzo) do zmiany nazw rzeczy pod warunkiem, że masz dostęp właściwy na środowisku: {]}
exec sp_rename 'Nameofobject', 'ReNameofobject'
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-03-18 17:17:31
Upewnij się, że jesteś we właściwym kontekście bazy danych w SSMS. Mam ten sam błąd co ty, ale wiedziałem, że schemat już istnieje. Nie wiedziałem, że jestem w "mistrzowskim" kontekście. ALTER działał po zmianie kontekstu do mojej bazy danych.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-12-03 18:55:38
aby utworzyć nowy schemat, wykonaj poniższe kroki:
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.
aby zmienić schemat, uruchom następujące polecenie sql:
ALTER SCHEMA new_schema
TRANSFER dbo.Employees
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-05-11 10:08:54