##name_table table global temporaire MSSS
#name_table table temporaire MSSS
% (MODULO) dividend % divisor
%25 Equivalent de ? Car deja utlilise dans les requêtes HTTP://Helios/gescom?SQL=SELECT nom,prenom,factory FROM clients WHERE city LIKE 'N%25' FOR XML AUTO &ROOT=root
ADD CONSTRAINT
ALL scalar_expression { = | <> | != | > | >= | !> | < | <= | !< } ALL ( subquery )
ALTER APPLICATION ROLE ALTER APPLICATION ROLE weekly_receipts
    WITH NAME = receipts_ledger; PASSWORD = '897yUUbv77bsrEE00nk2i', DEFAULT_SCHEMA = Production;
ALTER ASSEMBLY  Alters an assembly by modifying its properties and adding or removing files associated with it. 
ALTER ASSEMBLY      ALTER ASSEMBLY MyClass ADD FILE FROM 'C:\MyClassProject\Class1.cs';WITH PERMISSION_SET = EXTERNAL_ACCESS
ALTER ASYMMETRIC KEY     ALTER ASYMMETRIC KEY PacificSales09
    WITH PRIVATE KEY (
    DECRYPTION BY PASSWORD = 'bmsA$dk7i82bv55foajsd9764',
ALTER AUTORISATION
ALTER CERTIFICATE
ALTER CREDENTIAL
ALTER DATABASE
ALTER DATABASE
ALTER ENDPOINT
ALTER FULLTEXT
ALTER INDEX
ALTER LOGIN
ALTER MASTER KEY
ALTER MESSAGE TYPE
ALTER PARTITION FUNCTION
ALTER PARTITION SCHEME
ALTER PROCEDURE
ALTER QUEUE
ALTER REMOTE SERVICE BINDING
ALTER ROLE
ALTER ROUTE
ALTER SCHEMA
ALTER SERVICE
ALTER SERVICE MASTER KEY
ALTER SYMMETRIC KEY
ALTER TABLE ALTER TABLE [dbo].[tableau] ADD [name_column] CHAR(20) NULL ALTER TABLE @tableau ADD CONSTRAINT ck_cpo CHECK(code_postal BETWEEN 1000 AND 95999)
ALTER TRIGGER
ALTER USER modifie le mot de pass oracle ALTER USER 'dupond' IDENTIFIER BY 'mypassword'
ALTER USER
ALTER VIEW
ALTER XML SCHEMA COLLECTION
AND
And/Or SELECT [name_column] FROM [name_table] WHERE "simple condition" {[AND|OR] "simple condition"}+ 
ANY
APP_NAME
APPLOCK_MODE
APPLOCK_TEST
ASC
ASCII
ASSEMBLYPROPERTY
ASYMKEY_ID
BACKUP
BACKUP (=DUMP) sauvegarde une base de donees BACKUP DATABASE [name] TO DISK='C:\save_name.bak'
BACKUP CERTIFICATION
BACKUP MASTER KEY
BACKUP SERVICE MASTER KEY
BEGIN ;;; END
BEGIN CONVERSATION TIMER
BEGIN DIALOG CONVERSATION
BEGIN DISTRIBUTED TRANSACTION
BEGIN TRANSACTION
Between SELECT [name_column] FROM [name_table] WHERE name_column BETWEEN 'value1' AND 'value2' 
BETWEEN
BINARY_CHECKSUM
BREAK
BULK COPY (=BCP.EXE)
BULK INSERT
BULK INSERT FIRE_TRIGGERS BULK INSERT TABLELOCK=escalation
CASE
CERT_ID
CHECK ALTER TABLE [name_table] ADD CONSTRAINT 'CK_name'  CHECK([prix]>0)
CHECKPOINT
CLOSE DECLARE Employee_Cursor CURSOR FOR
SELECT EmployeeID, Title FROM AdventureWorks.HumanResources.Employee;
OPEN Employee_Cursor;
FETCH NEXT FROM Employee_Cursor;
WHILE @@FETCH_STATUS = 0
   BEGIN
      FETCH NEXT FROM Employee_Cursor;
   END;
CLOSE Employee_Cursor;
DEALLOCATE Employee_Cursor;
GO
CLOSE MASTER KEY
CLOSE SYMMETRIC KEY
COL_LENGTH
COL_NAME
COLLATE
COLLATIONPROPERTY
COLUMNPROPERTY
COLUMNS VARCHAR(4k) connaît une image des colonnes concerné par les commandes
COMMENT ON COMMENT ON [name_table] IS 'mon commentaire sur la table'
COMMIT
COMMIT TRANSACTION
COMMIT WORK
COMPUTE
CONTAINS
CONTAINSTABLE
CONTEXT_INFO
CONTINUE
Count SELECT COUNT([name_column]) FROM [name_table] 
CREATE AGGREGATE  Creates a user-defined aggregate function in SQL Server whose implementation is defined in a class of an assembly in the .NET Framework. USE AdventureWorks;
GO
DECLARE @SamplesPath nvarchar(1024)
-- You may have to modify the value of the this variable if you have
--installed the sample some location other than the default location.
SELECT @SamplesPath = REPLACE(physical_name, 'Microsoft SQL Server\MSSQL.1\MSSQL\DATA\master.mdf', 'Microsoft SQL Server\90\Samples\Engine\Programmability\CLR\')
     FROM master.sys.database_files
     WHERE name = 'master';
CREATE ASSEMBLY StringUtilities FROM @SamplesPath + 'StringUtilities\CS\StringUtilities\bin\debug\StringUtilities.dll'
WITH PERMISSION_SET=SAFE;
GO

CREATE AGGREGATE Concatenate(@input nvarchar(4000))
RETURNS nvarchar(4000)
EXTERNAL NAME [StringUtilities].[Microsoft.Samples.SqlServer.Concatenate];
GO
CREATE APPLICATION ROLE Permet d'ajouter un rôle d'application à la base de données en cours. CREATE APPLICATION ROLE weekly_receipts WITH PASSWORD = '987Gbv8$76sPYY5m23' ,DEFAULT_SCHEMA = Sales;
CREATE ASSEMBLY  Registers a .NET Framework assembly as an object inside an instance of SQL Server 2005, against which common language runtime (CLR) functions, stored procedures, triggers, user-defined aggregates, and user-defined types can be created in SQL Server. CREATE ASSEMBLY SQLCLRTest
FROM 'C:\MyDBApp\SQLCLRTest.dll'
WITH PERMISSION_SET = SAFE
CREATE ASSEMBLY SQLCLRTest
FROM 'C:\MyDBApp\SQLCLRTest.dll'
WITH PERMISSION_SET = EXTERNAL_ACCESS
USE master
GO 
 
CREATE ASYMMETRIC KEY SQLCLRTestKey FROM EXECUTABLE FILE = 'C:\MyDBApp\SQLCLRTest.dll'  
CREATE LOGIN SQLCLRTestLogin FROM ASYMMETRIC KEY SQLCLRTestKey  
GRANT UNSAFE ASSEMBLY TO SQLCLRTestLogin
GO
CREATE ASSEMBLY SQLCLRTest
FROM 'C:\MyDBApp\SQLCLRTest.dll'
WITH PERMISSION_SET = UNSAFE
CREATE ASYMMETRIC KEY Permet de créer une clé asymétrique dans la base de données. CREATE ASYMMETRIC KEY PacificSales19 AUTHORIZATION SyedAbbas 
    FROM FILE = ' c:\PacSales\Managers\SyedAbbasCerts.tmp' 
    ENCRYPTION BY PASSWORD = '35698ofg0sjlkfLKJ4548872$$$2';
GO
CREATE CERTIFICAT Permet d'ajouter un certificat à une base de données.  USE AdventureWorks;
CREATE CERTIFICATE Shipping19
    FROM EXECUTABLE FILE = 'c:\Shipping\Certs\Shipping19.dll';
GO
USE AdventureWorks;
CREATE ASSEMBLY Shipping19
    FROM ' c:\Shipping\Certs\Shipping19.dll'
    WITH PERMISSION_SET = SAFE;
GO
CREATE CERTIFICATE Shipping19 FROM ASSEMBLY Shipping19;
GO
CREATE CONTRACT Crée un nouveau contrat. Un contrat définit les types de messages utilisés dans une conversation Service Broker et détermine quel côté de la conversation peut envoyer des messages de ce type. Chaque conversation observe un contrat. Le service initiateur spécifie le contrat associé à la conversation au début de celle-ci. Le service cible spécifie les contrats pour lesquels il accepte des conversations.

CREATE MESSAGE TYPE
    [//Adventure-Works.com/Expenses/SubmitExpense]        
    VALIDATION = WELL_FORMED_XML ;        

CREATE MESSAGE TYPE
    [//Adventure-Works.com/Expenses/ExpenseApprovedOrDenied]        
    VALIDATION = WELL_FORMED_XML ;        

CREATE MESSAGE TYPE        
    [//Adventure-Works.com/Expenses/ExpenseReimbursed]        
    VALIDATION= WELL_FORMED_XML ;        

CREATE CONTRACT         
    [//Adventure-Works.com/Expenses/ExpenseSubmission]        
    ( [//Adventure-Works.com/Expenses/SubmitExpense]        
          SENT BY INITIATOR,        
      [//Adventure-Works.com/Expenses/ExpenseApprovedOrDenied]        
          SENT BY TARGET,        
      [//Adventure-Works.com/Expenses/ExpenseReimbursed]        
          SENT BY TARGET        
    ) ;
CREATE CREDENTIAL L'exemple ci-dessous crée des informations d'identification nommées AlterEgo. Les informations d'identification contiennent l'utilisateur Windows RettigB et le mot de passe sdrlk8$40-dksli87nNN8.

CREATE CREDENTIAL AlterEgo WITH IDENTITY = 'RettigB',
    SECRET = 'sdrlk8$40-dksli87nNN8';
GO
CREATE DATABASE Crée une nouvelle base de données ainsi que les fichiers utilisés pour stocker la base de données, crée une capture instantanée de base de données ou attache une base de données à partir des fichiers détachés d'une base de données créée antérieurement.

USE master;
GO
IF DB_ID (N'Sales') IS NOT NULL
DROP DATABASE Sales;
GO
-- Get the SQL Server data path
DECLARE @data_path nvarchar(256);
SET @data_path = (SELECT SUBSTRING(physical_name, 1, CHARINDEX(N'master.mdf', LOWER(physical_name)) - 1)
                  FROM master.sys.master_files
                  WHERE database_id = 1 AND file_id = 1);

-- execute the CREATE DATABASE statement
EXECUTE ('CREATE DATABASE  Sales
ON PRIMARY
( NAME = SPri1_dat,
    FILENAME = '''+ @data_path + 'SPri1dat.mdf'',
    SIZE = 10,
    MAXSIZE = 50,
    FILEGROWTH = 15% ),
( NAME = SPri2_dat,
    FILENAME = '''+ @data_path + 'SPri2dt.ndf'',
    SIZE = 10,
    MAXSIZE = 50,
    FILEGROWTH = 15% ),
FILEGROUP SalesGroup1
( NAME = SGrp1Fi1_dat,
    FILENAME = '''+ @data_path + 'SG1Fi1dt.ndf'',
    SIZE = 10,
    MAXSIZE = 50,
    FILEGROWTH = 5 ),
( NAME = SGrp1Fi2_dat,
    FILENAME = '''+ @data_path + 'SG1Fi2dt.ndf'',
    SIZE = 10,
    MAXSIZE = 50,
    FILEGROWTH = 5 ),
FILEGROUP SalesGroup2
( NAME = SGrp2Fi1_dat,
    FILENAME = '''+ @data_path + 'SG2Fi1dt.ndf'',
    SIZE = 10,
    MAXSIZE = 50,
    FILEGROWTH = 5 ),
( NAME = SGrp2Fi2_dat,
    FILENAME = '''+ @data_path + 'SG2Fi2dt.ndf'',
    SIZE = 10,
    MAXSIZE = 50,
    FILEGROWTH = 5 )
LOG ON
( NAME = Sales_log,
    FILENAME = '''+ @data_path + 'salelog.ldf'',
    SIZE = 5MB,
    MAXSIZE = 25MB,
    FILEGROWTH = 5MB )'
);
GO

CREATE DEFAULT Crée un objet appelé default (valeur par défaut). Lorsqu'elle est liée à une colonne ou à un type de données alias, une valeur par défaut spécifie une valeur à insérer dans la colonne à laquelle est lié l'objet (ou dans toutes les colonnes, dans le cas d'un type de données alias) lorsqu'aucune valeur n'est explicitement fournie lors d'une opération d'insertion.

CREATE DEFAULT addr AS 'tinel '
GO
 sp_bindefault addr, 'client.adress'
CREATE ENDPOINT Permet de créer des points de terminaison et de définir leurs propriétés, ainsi que les méthodes à la disposition des applications clientes. Pour plus d'informations sur les autorisations afférentes, consultez GRANT – octroi d'autorisations de point de terminaison (Transact-SQL).

CREATE ENDPOINT endpoint_mirroring
    STATE = STARTED
    AS TCP ( LISTENER_PORT = 7022 )
    FOR DATABASE_MIRRORING (
       AUTHENTICATION = WINDOWS KERBEROS,
       ENCRYPTION = SUPPORTED,
       ROLE=ALL);
GO
DROP ENDPOINT sql_endpoint;
GO

CREATE ENDPOINT sql_endpoint
STATE = STARTED
AS HTTP(
   PATH = '/sql',
   AUTHENTICATION = (INTEGRATED ),
   PORTS = ( CLEAR ),
   SITE = 'SERVER'
   )
FOR SOAP (
   WEBMETHOD 'GetSqlInfo'
            (name='master.dbo.xp_msver',
             SCHEMA=STANDARD ),
   WEBMETHOD 'DayAsNumber'
            (name='master.sys.fn_MSdayasnumber'),
   WSDL = DEFAULT,
   SCHEMA = STANDARD,
   DATABASE = 'master',
   NAMESPACE = 'http://tempUri.org/'
   );
GO
CREATE EVENT NOTIFICATION Crée un objet qui envoie des informations sur un événement de base de données ou de serveur à un service Service Broker. Les notifications d'événements sont créées uniquement par le biais d'instructions Transact-SQL.

CREATE FULLTEXT CATALOG Crée un catalogue de texte intégral pour une base de données. Ce catalogue peut avoir plusieurs index de texte intégral, mais ce type d'index ne peut faire partie que d'un catalogue de texte intégral. Chaque base de données peut contenir plusieurs catalogues de texte intégral ou n'en contenir aucun.
CREATE FULLTEXT INDEX Crée un index de texte intégral dans une ou plusieurs colonnes d'une table de base de données. Un seul index de texte intégral par table est autorisé. Par défaut, une base de données permet la recherche de texte intégral lorsque vous la créez.
CREATE FUNCTION Crée une fonction définie par l'utilisateur. Celle-ci est une routine CLR (Common Language Runtime) ou Transact-SQL enregistrée qui retourne une valeur. Les fonctions définies par l'utilisateur ne permettent pas d'exécuter des actions qui modifient l'état des bases de données. À l'image des fonctions système, elles peuvent être appelées à partir d'une requête. Les fonctions scalaires peuvent être exécutées à l'aide d'une instruction EXECUTE, comme les procédures stockées. CREATE FUNCTION RETURNS TABLE AS  RETURN SELECT * FROM [name_table] CREATE FUNCTION RETURNS @tableau TABLE(id INT) AS BEGIN … RETURN END
CREATE INDEX Crée un index relationnel dans une table ou une vue spécifiée, ou un index XML dans une table spécifiée. Un index peut être créé avant que la table soit remplie de données. Les index peuvent être créés sur des tables ou des vues d'une autre base de données en spécifiant un nom de base de données qualifié. CREATE INDEX name_index 
CREATE LOGIN Crée une connexion SQL Server.
CREATE MASTER KEY Permet de créer une clé principale de base de données
CREATE MEMBER Pour créer un membre calculé disponible dans l'ensemble d'une session MDX (Multidimensional Expressions), vous utilisez l'instruction CREATE MEMBER. Un membre calculé créé à l'aide de l'instruction CREATE MEMBER n'est supprimé qu'après la fermeture de la session MDX.

CREATE MESSAGE TYPE Crée un nouveau type de message. Un type de message définit le nom d'un message et la validation effectuée par Service Broker sur les messages portant ce nom. Les deux parties d'une conversation doivent définir les mêmes types de messages.
CREATE MINING MODEL Crée à la fois un modèle d'exploration de données et une structure d'exploration de données dans la base de données. Vous pouvez créer un modèle en définissant le nouveau modèle dans l'instruction ou en utilisant le langage PMML (Predictive Model Markup Language). La deuxième option s'adresse uniquement aux utilisateurs expérimentés.
CREATE MINING STRUCTURE Pour créer un membre calculé disponible dans l'ensemble d'une session MDX (Multidimensional Expressions), vous utilisez l'instruction CREATE MEMBER. Un membre calculé créé à l'aide de l'instruction CREATE MEMBER n'est supprimé qu'après la fermeture de la session MDX.

CREATE PARTITION FUNCTION Crée une fonction, dans la base de données active, qui mappe les lignes d'une table ou d'un index avec des partitions à partir des valeurs d'une colonne spécifiée. L'utilisation de CREATE PARTITION FUNCTION est la première étape de la création d'une table ou d'un index partitionné.
CREATE PARTITION SCHEME Crée, dans la base de données active, un schéma qui mappe les partitions d'une table ou d'un index partitionné avec des groupes de fichiers. Le nombre et le domaine des partitions d'une table ou d'un index partitionné sont définis dans une fonction de partition. Vous devez d'abord créer une fonction de partition dans une instruction CREATE PARTITION FUNCTION avant de créer un schéma de partition.

CREATE PRIMARY XML INDEX Crée un index relationnel dans une table ou une vue spécifiée, ou un index XML dans une table spécifiée. Un index peut être créé avant que la table soit remplie de données. Les index peuvent être créés sur des tables ou des vues d'une autre base de données en spécifiant un nom de base de données qualifié.

CREATE PROCEDURE Crée une procédure stockée. Une procédure stockée est une collection enregistrée d'instructions Transact-SQL ou une référence à une méthode CLR (Common Language Runtime) de Microsoft .NET Framework qui peut accepter et retourner des paramètres fournis par l'utilisateur. Les procédures peuvent être créées pour une utilisation permanente ou temporaire au sein d'une même session (c'est-à-dire une procédure locale temporaire) ou pour une utilisation temporaire dans toutes les sessions (c'est-à-dire une procédure globale temporaire).

CREATE QUEUE Crée une file d'attente dans une base de données. Les files d'attente stockent des messages. Lorsqu'un message destiné à un service se présente, Service Broker le place dans la file d'attente associée au service.

CREATE REMOTE SERVICE BINDING Crée une liaison qui définit les informations d'identification de sécurité à utiliser pour démarrer une conversation avec un service distant.

CREATE ROLE Crée un rôle de base de données dans la base de données active.
CREATE ROUTE Ajoute un itinéraire à la table de routage de la base de données active. Pour les messages sortants, Service Broker détermine l'itinéraire en vérifiant la table de routage dans la base de données locale. Pour les messages de conversations issus d'une autre instance, y compris les messages à transférer, Service Broker vérifie les itinéraires dans la base de données msdb.

CREATE RULE CREATE RULE cp_valid AS @cp BETWEEN 1000 AND 95999 GO EXEC sp_bindrule cp_valide, 'client.codepostal'
CREATE SCHEMA
CREATE SEQUENCE CREATE SEQUENCE name_sequence START WITH 0 MAXVALUE 1000 NOCYCLE
CREATE SERVICE
CREATE STATISTIC
CREATE SYMMETRIC KEY
CREATE SYNONYM
CREATE TABLE CREATE TABLE [name_table]([name_col1] INT, [name_col2] CHAR(10)) CREATE TABLE name_table AS SELECT * FROM Name_table2 WHERE {condition}
CREATE TRIGGER CREATE TRIGGER [name_trigger]  ON [nom_table] {FOR|AFTER INSTEAD OF}{INSERT, UPDATE,DELETE} [WITH APPEND] AS BEGIN … END
CREATE TYPE  Creates an alias data type in SQL Server, or a CLR user-defined data type in SQL Server whose implementation is defined in a class of an assembly in the .NET Framework.
CREATE USER Ajoute un utilisateur à la base de données active CREATE LOGIN WanidaBenshoof
    WITH PASSWORD = '8fdKJl3$nlNv3049jsKK';
USE AdventureWorks;
CREATE USER Wanida FOR LOGIN WanidaBenshoof
    WITH DEFAULT_SCHEMA = Marketing;
GO
USE AdventureWorks;
CREATE CERTIFICATE CarnationProduction50
    WITH SUBJECT = 'Carnation Production Facility Supervisors',
    EXPIRY_DATE = '11/11/2011';
GO
CREATE USER JinghaoLiu FOR CERTIFICATE CarnationProduction50;
GO
CREATE VIEW CREATE VIEW name_view AS SELECT * FROM name_table
CREATE XML SCHEMA
CROSS
CROSS JOIN Which combine two tables in every possible permutations
CURRENT_REQUEST_ID Retourne l'ID de la demande actuelle dans la session en cours. CURRENT_REQUEST_ID()
CURRENT_TIMESTAMP Renvoie la date et l'heure courante. Cette fonction est équivalente à GETDATE.  SELECT 'The current time is: '+ CONVERT(char(30), CURRENT_TIMESTAMP)
CURRENT_USER Retourne le nom de l'utilisateur en cours. Cette fonction est équivalente à la fonction USER_NAME().

USE AdventureWorks;
IF EXISTS (SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES
      WHERE TABLE_NAME = 'orders22')
   DROP TABLE orders22
GO
SET NOCOUNT ON
CREATE TABLE orders22
(
 order_id int IDENTITY(1000, 1) NOT NULL,
 cust_id  int NOT NULL,
 order_date smalldatetime NOT NULL DEFAULT GETDATE(),
 order_amt money NOT NULL,
 order_person char(30) NOT NULL DEFAULT CURRENT_USER
)
GO
CURSOR DECLARE CURSOR [cur] as SELECT [col1], [col2] FROM [table1]
CURSOR_STATUS
CURSORS
DATABASE_PRINCIPAL_ID
DATABASEPROPERTY
DATABASEPROPERTYEX
DATALENGTH
DB_ID SELECT name , DB_ID(name) FROM  sysdatabases
DB_NAME SELECT dbid, DB_NAME(dbid) FROM sysdatabases
DEALLOCATE USE AdventureWorks
GO
-- Create and open a global named cursor that
-- is visible outside the batch.
DECLARE abc CURSOR GLOBAL SCROLL FOR
SELECT * FROM Sales.SalesPerson
OPEN abc
GO
-- Reference the named cursor with a cursor variable.
DECLARE @MyCrsrRef1 CURSOR
SET @MyCrsrRef1 = abc
-- Now deallocate the cursor reference.
DEALLOCATE @MyCrsrRef1
-- Cursor abc still exists.
FETCH NEXT FROM abc
GO
-- Reference the named cursor again.
DECLARE @MyCrsrRef2 CURSOR
SET @MyCrsrRef2 = abc
-- Now deallocate cursor name abc.
DEALLOCATE abc
-- Cursor still exists, referenced by @MyCrsrRef2.
FETCH NEXT FROM @MyCrsrRef2
-- Cursor finally is deallocated when last referencing
-- variable goes out of scope at the end of the batch.
GO
-- Create an unnamed cursor.
DECLARE @MyCursor CURSOR
SET @MyCursor = CURSOR LOCAL SCROLL FOR
SELECT * FROM Sales.SalesTerritory
-- The following statement deallocates the cursor
-- because no other variables reference it.
DEALLOCATE @MyCursor
GO
DECLARE DECLARE @name_variable CHAR(10) DECLARE @tableau TABLE(code INT PRIMARY KEY, nom varchar(30))
DECLARE CURSOR
DEFAULT ALTER TABLE CONSTRAINT df_nom DEFAULT FOR col_nom
DEFERRABLE la validation de la contrainte est reporté à la fin de transaction
DELETE FROM USE AdventureWorks;
GO
DECLARE complex_cursor CURSOR FOR
    SELECT a.EmployeeID
    FROM HumanResources.EmployeePayHistory AS a
    WHERE RateChangeDate <>
         (SELECT MAX(RateChangeDate)
          FROM HumanResources.EmployeePayHistory AS b
          WHERE a.EmployeeID = b.EmployeeID) ;
OPEN complex_cursor;
FETCH FROM complex_cursor;
DELETE FROM HumanResources.EmployeePayHistory
WHERE CURRENT OF complex_cursor;
CLOSE complex_cursor;
DEALLOCATE complex_cursor;
GO
DELETED table temporaire uniquement accessible dans un trigger pour les operations DELETE and UPDATE
DENY refuse des permissions à un individue ou un groupe DENY ALL ON [Oakland_authors] TO public [CASCADE]
DENY CREATE DATABASE TO
DESC
DISABLE désactive une contrainte
DISABLE TRIGGER IF EXISTS (SELECT * FROM sys.triggers
    WHERE parent_class = 0 AND name = 'safety')
DROP TRIGGER safety ON DATABASE;
GO
CREATE TRIGGER safety
ON DATABASE
FOR DROP_TABLE, ALTER_TABLE
AS
   PRINT 'You must disable Trigger "safety" to drop or alter tables!'
   ROLLBACK;
GO
DISABLE TRIGGER safety ON DATABASE;
GO
DISK INT
DISK RESIZE
DISTINCT selection toutes les entrees distincts (Une seule colonne) SELECT DISTINCT [name_column] FROM [dbo].[name_table] 
DROP AGGREGATE  Removes a user-defined aggregate function from the current database.
DROP APPLICATION ROLE
DROP ASSEMBLY  Removes an assembly and all its associated files from the current database. 
DROP ASYMMETRIC KEY
DROP CERTIFICATE
DROP CONSTRAINT
DROP CONTRACT
DROP CREDENTIAL
DROP DATABASE
DROP DATABASE
DROP DEFAULT DROP DEFAULT addr
DROP DEFAULT
DROP ENDPOINT
DROP EVENT NOTIFICATION
DROP FULLTEXT CATALOG
DROP FULLTEXT INDEX
DROP FUNCTION
DROP INDEX DROP INDEX name_index ON [name_table]([name_column])
DROP INDEX
DROP LOGIN
DROP MASTER KEY
DROP MESSAGE TYPE
DROP PARTITION FUNCTION
DROP PARTITION SCHEME
DROP PROCEDURE IF OBJECT_ID('MyProcedure') IS NOTNULL DROP PROCEDURE MyProcedure
DROP PROCEDURE
DROP QUEUE
DROP REMOTE
DROP ROLE
DROP ROUTE
DROP RULE EXEC sp_unbindrule 'client.code_postal' GO DROP RULE cp_valide
DROP RULE
DROP SCHEMA
DROP SERVICE
DROP SIGNATURE
DROP STATISTIC
DROP SYNONYM
DROP TABLE DROP TABLE name_table 
DROP TABLE
DROP TRIGGER DROP TRIGGER name_trigger
DROP TRIGGER
DROP TYPE  Removes an alias or CLR user-defined data type from the current database.
DROP TYPE
DROP USER
DROP VIEW
DROP XML SCHEMA COLLECTION
DUMP
ELEMENTS
ENABLE NOVALIDATE Active la contrainte même si toutes les lignes ne la respecte pas
ENABLE TRIGGER
ENABLE VALIDATE Active la contrainte si toutes les lignes la respectes
END CONVERSATION
EXCEPT and INTERSECT  Returns distinct values by comparing the results of two queries.

EXCEPT returns any distinct values from the left query that are not also found on the right query.

INTERSECT returns any distinct values that are returned by both the query on the left and right sides of the INTERSECT operand.

The basic rules for combining the result sets of two queries that use EXCEPT or INTERSECT are the following:

The number and the order of the columns must be the same in all queries.

The data types must be compatible.
EXEC / EXECUTION EXEC sp_addtype typenom.'CHAR(30)'
EXECUTE
EXECUTE (2) Renvoie une requête grace à une procedure stocké HTTP://Helios/gescom?SQL=EXECUTE+name_table+@param=1
EXECUTE AS
EXECUTE AS CLAUSE
EXECUTE ASS Controls which user account SQL Server uses to validate permissions on any database objects that are referenced by a stored procedure or user-defined function. 
EXISTS IF EXISTS(SELECT name FROM sysindexes WHERE name='myindex') DROP INDEX mytable.myindex GO
EXISTS
EXP
EXPLICIT
FETCH USE AdventureWorks
GO
DECLARE contact_cursor CURSOR FOR
SELECT LastName FROM Person.Contact
WHERE LastName LIKE 'B%'
ORDER BY LastName
OPEN contact_cursor
-- Perform the first fetch.
FETCH NEXT FROM contact_cursor
-- Check @@FETCH_STATUS to see if there are any more rows to fetch.
WHILE @@FETCH_STATUS = 0
BEGIN
   -- This is executed as long as the previous fetch succeeds.
   FETCH NEXT FROM contact_cursor
END

CLOSE contact_cursor
DEALLOCATE contact_cursor
GO
FILE_ID
FILE_IDEX
FILE_NAME
FILEGROUP SQL Server provides filegroups to simplify database administration and allow optimal allocation of system data across multiple physical disks. Optimized data allocation can be critical to the performance of high-volume Notification Services applications.
FILEGROUP_ID
FILEGROUP_NAME
FILEGROUPPROPERTY
FILEPROPERTY
FOR FOR clause is used to specify either the BROWSE or the XML option. BROWSE and XML are unrelated options.

FOR BROWSE
FOR XML AUTO renvoie le resultat d'une requête au format XML HTTP://Helios/gescom?SQL=SELECT nom,prenom,factory FROM clients FOR XML AUTO &ROOT=root
FOR XML RAW
FORMATMESSAGE Constructs a message from an existing message in sys.messages. The functionality of FORMATMESSAGE resembles that of the RAISERROR statement. However, RAISERROR prints the message immediately, while FORMATMESSAGE returns the formatted message for further processing.

DECLARE @var1 VARCHAR(100)
SELECT @var1 = FORMATMESSAGE(50001, 'Table1', 5)

FREETEXT
FREETEXTTABLE
FROM
FULL OUTER JOIN | FULL JOIN Which show all rows common to both tables, as well as any rows in one table but not matched in the other INSERT INTO name_table (name_col1, name_col2) VALUES (IDENTITYCOL, 'valeur') 
FULLTEXTCATALOGPROPERTY
FULLTEXTSERVICEPROPERTY
GET CONVERSATION GROUP DECLARE @conversation_group_id UNIQUEIDENTIFIER

WAITFOR (
    GET CONVERSATION GROUP @conversation_group_id
    FROM ExpenseQueue ),
TIMEOUT 60000 ;
GRANT accorde des droits à un individue ou un groupe GRANT ALL ON Oakland_authors TO public [WITH GRANT OPTION] ALTER, DELETE, EXECUTE, INDEX, INSERT, READ, REFERENCES, SELECT, UPDATE,ALL
GRANT
GRANTOR permet de connaître l'utilisateur qui a accordé les droits
GROUP BY SELECT col1, SUM(col2) FROM name_table GROUP BY col1
GROUP BY
GROUPING Is an aggregate function that causes an additional column to be output with a value of 1 when the row is added by either the CUBE or ROLLUP operator, or 0 when the row is not the result of CUBE or ROLLUP.Grouping is allowed only in the select list associated with a GROUP BY clause that contains either the CUBE or ROLLUP operator. SELECT [name] GROUPING(name) 'The name' FROM name_table GROUP BY [name] WITH ROLLUP
GROUPING
HAVING SELECT col1, SUM(col2) FROM name_table GROUP BY col1 HAVING (arithematic function condition) 
HAVING
HINTS Hints are options or strategies specified for enforcement by the SQL Server 2005 query processor on SELECT, INSERT, UPDATE, or DELETE statements. The hints override any execution plan the query optimizer might select for a query.

HOLDLOCK maintien de verrou partagé jusqu'à la fin de la transcation SELECT ville, nom FROM  (Client HOLDLOCK) GROUP BY ville
IDENTITY @identity stock la derniere valeur CREATE TABLE name_table(name_col1 INT IDENTITY(1000,1), name_col2 CHAR(10))
IDENTITY_INSERT Force une autre valeur à l'insertion SET IDENTITY_INSERT name_table ON
IDENTITYCOL sert à remplacer le nom de la colonne contenant la propriété IDENTITY UPDATE name SET ismaried=1 WHERE IDENTITYCOL=10
IN
INDEXKEY
INDEXPROPERTY
INITIALLY DEFFERED (=DEFERRABLE)
INITIALLY IMMEDIATE (=NOT DEFERRABLE)
INNER JOIN | JOIN Which show only rows with keys common to two tables SELECT col1, tab2.col1,col2 FROM tab1 INNER JOIN tab2 ON tab1.col2=tab2.col2
INSERT INTO INSERT INTO name_table (col1, col2) VALUES (val1,val2)  INSERT INTO name_table VALUES(val1,val2) INSERT INTO name_table DEFAULT VALUES INSERT INTO name_table SELECT * FROM other_table 
INSERTED table temporaire uniquement accessible dans un trigger pour les operations INSERT and UPDATE
KILL
KILL QUERY NOTIFICATION SUBSCRIPTION
KILL QUERY NOTIFICATION SUBSCRIPTION ALL ;
LEFT OUTER JOIN | LEFT JOIN
LEFT SEMI JOIN
Like SELECT name_column FROM name_table  WHERE name_column LIKE {PATTERN} 
LOAD DATABASE
LOCK TABLE LOCK TABLE name_table IN EXCLUSIVE MODE
MOVE CONVERSATION DECLARE @conversation_handle UNIQUEIDENTIFIER,
        @conversation_group_id UNIQUEIDENTIFIER ;

SET @conversation_handle =
    <retrieve conversation handle from database> ;
SET @conversation_group_id =
    <retrieve conversation group ID from database> ;

MOVE CONVERSATION @conversation_handle TO @conversation_group_id ;
N indique que la phrase qui suit est codé en UNICODE SET @sentence=N'SQL Server 2000'
NEWID CREATE TABLE name_table(pk UNIQUEIDENTIFIER DEFAULT NEWID(), city VARCHAR(10)) DECLARE @myid uniqueidentifier SET @myid = NEWID()
NOLOCK pas de verrou
NORELY réactive une contrainte en s'assurant que toutes les lignes la respect
NOT DEFERRABLE La contrainte est verifié pendant la transaction
OPEN MASTER KEY
OPEN SYMMETRIC KEY
OPENXML SELECT * FROM OPENXML(myfile.xml)
OPTION Specifies that the indicated query hint should be used throughout the entire query. Each query hint can be specified only one time, although multiple query hints are permitted. Only one OPTION clause can be specified with the statement.

ORDER BY SELECT name_column FROM name_table [WHERE "condition"] ORDER BY name_column [ASC, DESC] 
OUTER JOINS Which show all rows from one table and any matching row from another
OUTPUT
OVER
PARSENAME
PATINDEX
PERMISSIONS
PROTECTTYPE INT permet de connaître l'autorisation pour cette commande
RAISERROR
READ lit des objets BFILES oracle
RECONFIGURE
RECONFIGURE EXEC sp_configure 'recovery interval', 90
RECONFIGURE WITH OVERRIDE
GO
REFERENCES création de constraintes d'intégrité référentielle vers les colonnes
RELY réactive une contrainte sans s'assurer que toutes les lignes la respect
RENAME renomme une table oracle RENAME name_table_old TO name_table_new
RESTORE
RESTORE (=LOAD) restore à partir d'une sauvegarde une base de données
RESTORE LOG
RESTORE MASTER KEY
RESTORE SERVICE MASTER KEY
RETURN
REVOKE supprime des permissions attribué auparavent avec GRANT REVOKE [GRANT OPTION FOR] DELETE ON article FROM caroline [CASCADE] [AS {groupe|role}]
REVOKE
RIGTH OUTER JOIN | RIGTH JOIN
ROLE regroupe des utilisateur pour leur attribuer des droits oracle
ROLLBACK TRANSACTION
ROLLBACK WORK
ROWGUIDCOL sert à remplacer le nom de la colonne contenant la valeur UNIQUEIDENTIFIER avec une clause WHERE
SAVE TRANSACTION
SCALAR FUNCTION fonction renvoyant une valeur CREATE  FUNCTION [ owner_name. ] function_name ( [ { @parameter_name [AS] scalar_parameter_data_type [ = default ] } [ ,...n ] ] )   RETURNS scalar_return_data_type[ WITH < function_option> [ [,] ...n] ] [ AS ] BEGIN DECLARE @val INT …RETURN @val END
SELECT SELECT name_column FROM name_table 
SELECT INTO Copie toutes les données et creé la table Customer_copy SELECT * INTO Cutomer_Copy FROM Customer
SELECT INTO … IN The IN clause can be used to copy tables into another database: SELECT Persons.* INTO Persons IN 'Backup.mdb' FROM Persons 
SET
SHUTDOWN WITH NOWAIT
SOME| ANY USE AdventureWorks ;
GO

CREATE PROCEDURE ManyDaysToComplete @OrderID int, @NumberOfDays int
AS
IF
@NumberOfDays < SOME
   (
    SELECT DaysToManufacture
    FROM Sales.SalesOrderDetail
    JOIN Production.Product
    ON Sales.SalesOrderDetail.ProductID = Production.Product.ProductID
    WHERE SalesOrderID = @OrderID
   )
PRINT 'At least one item for this order cannot be manufactured in specified number of days.'
ELSE
PRINT 'All items for this order can be manufactured in the specified number of days or less
TABLOCK utilisation de verrous partagés sur la table
TABLOCKX Maintien d'un verrou exclusif
TEMPORARY pour oracle oracle CREATE GLOBAL TEMPORARY TABLE name_table(id INT,inc CHAR(10));
TOP n retourne seulement les n premier resultat SELECT TOP 5 * FROM name_table ORDER BY name_col ASC
TRANSACTION
TRUNCATE TABLE tronque une table supprime toutes les entrées TRUNCATE TABLE name_table 
TRY … CATCH USE AdventureWorks;
GO
-- Verify that the stored procedure does not already exist.
IF OBJECT_ID ( 'usp_GetErrorInfo', 'P' ) IS NOT NULL
    DROP PROCEDURE usp_GetErrorInfo;
GO

-- Create procedure to retrieve error information.
CREATE PROCEDURE usp_GetErrorInfo
AS
    SELECT
        ERROR_NUMBER() AS ErrorNumber,
        ERROR_SEVERITY() AS ErrorSeverity,
        ERROR_STATE() AS ErrorState,
        ERROR_PROCEDURE() AS ErrorProcedure,
        ERROR_LINE() AS ErrorLine,
        ERROR_MESSAGE() AS ErrorMessage;
GO

BEGIN TRY
    -- Generate divide-by-zero error.
    SELECT 1/0;
END TRY
BEGIN CATCH
    -- Execute error retrieval routine.
    EXECUTE usp_GetErrorInfo;
END CATCH;
UNION SELECT col1,col2 FROM tab1 UNION col1,col2 FROM tab2
UNION
UNION ALL
UPDATE UPDATE name_table SET name_column = [new value] WHERE {condition} 
UPDATE STATISTICS
UPDATE STATISTICS
UPDATETEXT Updates an existing text, ntext, or image field. Use UPDATETEXT to change only a part of a text, ntext, or image column in place. Use WRITETEXT to update and replace a whole text, ntext, or image field.

USE pubs;
GO
ALTER DATABASE pubs SET RECOVERY SIMPLE;
GO
DECLARE @ptrval binary(16)
SELECT @ptrval = TEXTPTR(pr_info)
   FROM pub_info pr, publishers p
      WHERE p.pub_id = pr.pub_id
      AND p.pub_name = 'New Moon Books'
UPDATETEXT pub_info.pr_info @ptrval 88 1 'b';
GO
ALTER DATABASE pubs SET RECOVERY FULL;
GO
UPDLOCK maintien de verrous de mises à jour de page jusqu'à la fin de la transcation
USER Allows a system-supplied value for the database user name of the current user to be inserted into a table when no default value is specified.

USE AdventureWorks;
GO
CREATE TABLE inventory22
(
 part_id int IDENTITY(100, 1) NOT NULL,
 description varchar(30) NOT NULL,
 entry_person varchar(30) NOT NULL DEFAULT USER
)
GO
INSERT inventory22 (description)
VALUES ('Red pencil')
INSERT inventory22 (description)
VALUES ('Blue pencil')
INSERT inventory22 (description)
VALUES ('Green pencil')
INSERT inventory22 (description)
VALUES ('Black pencil')
INSERT inventory22 (description)
VALUES ('Yellow pencil')
GO
USING INDEX parametre les index pour les clés primaires oracle
VARYING the content of output parameter is varying
WHERE SELECT name_column FROM name_table  WHERE "condition" 
WHERE
WITH CHECK CREATE VUE … WITH CHECK
WITH LOG
XLS Renvoie la requête formaté avec la feuille de style "thestyle.xls" HTTP://Helios/gescom?SQL=SELECT nom,prenom,factory FROM clients FOR XML AUTO&XLS=thestyle.xls&ROOT=root
XMLDATA