Hoppa till innehållet
Stackship-dokumentation English

SQL ServerAnvändareMaskinöversatt

Scheman och tabeller

Skapa ett schema eller en tabell i en SQL Server-instans från Datautforskaren — kolumner, typer, nycklar, standardvärden och identitetskolumner — och ta bort ett igen.

Kräver: sqlservercluster/dataRead, sqlservercluster/schemaRead, sqlservercluster/schemaWrite

Datautforskaren bygger satserna CREATE och DROP åt dig från ett formulär, visar dem under SQL preview och kör dem på samma sätt som varje schemaändring: först en provkörning, sedan bekräftelsen — se Schemaändringar kräver en provkörning. Objekten skapas i instansens initiala databas.

Öppna instansens flik Datautforskare, som kräver sqlservercluster/dataRead; schemana listas till vänster under Schemas, vilket kräver sqlservercluster/schemaRead. Att skapa ett schema eller en tabell kräver sqlservercluster/schemaWrite, och att ta bort ett även sqlservercluster/schemaDrop, båda som vanliga åtgärder: Owner, Contributor, Platform Owner och Platform Contributor kan skapa och ta bort, rollen Database Explorer kan inget av det — se Behörigheter.

Skapa ett schema

  1. Välj + bredvid Schemas (Create schema).
  2. Ange Name: upp till 128 bokstäver, siffror och understreck, med en bokstav eller ett understreck först. SQL preview visar satsen, CREATE SCHEMA [<name>];.
  3. Välj Dry run. När den lyckas väljer du Confirm & create.

Satsen har ingen AUTHORIZATION-klausul och Datautforskaren kör den som inloggningen sa, så schemat ägs av dbo. Det visas i listan utan tabeller.

Formuläret har också Comment (optional) och IF NOT EXISTS. Ingen av dem ingår i satsen som körs: T-SQL har ingen IF NOT EXISTS för ett schema, och kommentaren sparas inte. Ett schema med ett namn som redan finns misslyckas därför i provkörningen.

Skapa en tabell

  1. Peka på ett schema i listan och välj dess + (Create table). Formuläret öppnas som Create a new table under det schemat; schemat kan bytas överst.

  2. Ange tabellens Name, med samma regler som för ett schemanamn.

  3. Definiera Columns. Formuläret börjar med två:

    • id — bigint, primärnyckel, Auto;
    • created_at — datetime2, tillåter NULL, standardvärde SYSUTCDATETIME().

    Ange för varje kolumn Name, Type — välj en i listan eller välj Custom… för en annan T-SQL-typ, till exempel hierarchyid, eventuellt med en storlek: (50), (10,2) eller (max) — och ett uttryck under Default om det behövs; listan bredvid föreslår vanliga. Kryssa sedan i Primary för att göra kolumnen till en del av primärnyckeln, Null för att tillåta NULL, och Auto för att göra den till en identitetskolumn som numrerar sig själv. Add column lägger till en rad; dra en rad i dess handtag för att ändra ordningen, eller ta bort den.

  4. Kontrollera SQL preview och välj Review & save. När provkörningen lyckas väljer du Confirm & create.

Regler som formuläret upprätthåller:

  • kolumnnamn är unika i tabellen;
  • Auto kräver en heltalstyp — tinyint, smallint, int eller bigint — och inget standardvärde; en identitetskolumn är alltid NOT NULL;
  • flera kolumner med Primary ikryssat bildar en gemensam primärnyckel över alla.

Formuläret har inga främmande nycklar, index eller andra villkor. Lägg till dem efteråt med en sats ALTER TABLE eller CREATE INDEX på fliken Query. Precis som för scheman ingår inte IF NOT EXISTS och Comment (optional) i satsen som körs.

Ta bort en tabell eller ett schema

  1. Peka på tabellen eller schemat i listan och välj dess papperskorgsikon.
  2. Kontrollera SQL preview och välj Dry run.
  3. När provkörningen lyckas skriver du namnet för att bekräfta och väljer Drop table — eller Drop view, Drop schema.

Det kräver sqlservercluster/schemaDrop utöver sqlservercluster/schemaWrite.

Ett schema kan bara tas bort när det är tomt: ta först bort dess tabeller och andra objekt. Formulärets brytare CASCADE ingår inte i satsen, eftersom T-SQL saknar en sådan.