Documente Academic
Documente Profesional
Documente Cultură
Argumentos
schema_name
Es el nombre del esquema al que pertenece la regla.
rule_name
Es el nombre de la nueva regla. Los nombres de las reglas deben
ajustarse a las reglas de los identificadores. La especificación del
propietario de la regla es opcional.
condition_expression
Es la condición o condiciones que definen la regla. Una regla puede
ser cualquier expresión válida en una cláusula WHERE y puede
incluir elementos como operadores aritméticos, operadores
relacionales y predicados (por ejemplo, IN, LIKE, BETWEEN). Una
regla no puede hacer referencia a columnas u otros objetos de base
de datos. Se pueden incluir funciones integradas que no hagan
referencia a objetos de base de datos. No es posible utilizar funciones
definidas por el usuario.
Permisos
Para ejecutar CREATE RULE, un usuario necesita, como mínimo, el
permiso CREATE RULE en la base de datos actual y el permiso ALTER
en el esquema en el que se está creando la regla.
Ejemplos
A.Crear una regla con un rango
En el siguiente ejemplo se crea una regla que restringe los valores reales
especificados en las columnas (a las que la regla está enlazada) a solo
aquellos enumerados en la regla.
Indice no agrupado:
Indice compuesto
Creamos un índice compuesto para el campo "autor" y
"editorial":
create index I_libros_autoreditorial
on libros(autor,editorial);
SQL Server crea automáticamente índices cuando se establece una restricción "primary
key" o "unique" en una tabla. Al crear una restricción "primary key", si no se especifica,
el índice será agrupado (clustered) a menos que ya exista un índice agrupado para dicha
tabla. Al crear una restricción "unique", si no se especifica, el índice será no agrupado
(non-clustered).
sp_helpindex libros;
Muestra el nombre del índice, si es agrupado (o no), primary (o
unique) y el campo por el cual se indexa.
Para ver todos los índices de la base de datos activa creados por
nosotros podemos tipear la siguiente consulta:
select name from sysindexes
where name like 'I_%';
USE AdventureWorks2012;
GO
-- Create a new table with three columns.
CREATE TABLE dbo.TestTable
(TestCol1 int NOT NULL,
TestCol2 nchar(10) NULL,
TestCol3 nvarchar(50) NULL);
GO
-- Create a clustered index called IX_TestTable_TestCol1
-- on the dbo.TestTable table using the TestCol1 column.
CREATE CLUSTERED INDEX IX_TestTable_TestCol1
ON dbo.TestTable (TestCol1);
GO
Parámetro Valor
Autor Your name
Create Date Today's date
Descripción Devuelve datos de empleado.
Procedure_name HumanResources.uspGetEmployeesTest
@Param1 @LastName
@Datatype_For_Param1 nvarchar(50)
Default_Value_For_Param1 NULL
@Param2 @FirstName
@Datatype_For_Param2 nvarchar(50)
Default_Value_For_Param NULL
Transact-SQL
SELECT FirstName, LastName, Department
FROM HumanResources.vEmployeeDepartmentHistory
WHERE FirstName = @FirstName AND LastName = @LastName
AND EndDate IS NULL;
Parámetro
Valor
Autor
Your name
Create Date
Today's date
Descripción
Procedure_name
HumanResources.uspGetEmployeesTest
@Param1
@LastName
@Datatype_For_Param1
nvarchar(50)
Default_Value_For_Param1
NULL
@Param2
@FirstName
@Datatype_For_Param2
nvarchar(50)
Default_Value_For_Param2
NULL
System_CAPS_warningAdvertencia
Usar Transact-SQL
USE AdventureWorks2012;
GO
CREATE PROCEDURE HumanResources.uspGetEmployeesTest2
@LastName nvarchar(50),
@FirstName nvarchar(50)
AS
Restriciones check
La restricción "check" especifica los valores que
acepta un campo, evitando que se ingresen valores
inapropiados.
...
check (CAMPO like '[A-Z][A-Z][0-9][0-9]');
...
check (CAMPO in ('lunes','miercoles','viernes'));
ON DELETE NO ACTION
ON DELETE CASCADE
(Referencia)
Seguridad
Permisos
USE AdventureWorks2012;
GO
CREATE TABLE Sales.TempSalesReason (TempID int
NOT NULL, Name nvarchar(50),
CONSTRAINT PK_TempSales PRIMARY KEY
NONCLUSTERED (TempID),
CONSTRAINT FK_TempSales_SalesReason FOREIGN
KEY (TempID)
REFERENCES Sales.SalesReason
(SalesReasonID)
ON DELETE CASCADE
ON UPDATE CASCADE
);GO
USE AdventureWorks2012;
GO
ALTER TABLE Sales.TempSalesReason
ADD CONSTRAINT FK_TempSales_SalesReason
FOREIGN KEY (TempID)
REFERENCES Sales.SalesReason
(SalesReasonID)
ON DELETE CASCADE
ON UPDATE CASCADE
;
GO