Saber algo nuevo
1. Crear una base de datos
USO MAESTRO; IR SI EXISTE ( SELECCIONAR * DE sys.databases DONDE [ nombre ] = ' estudiante ' ) COMENZAR ALTERAR BASE DE DATOS estudiante ESTABLECER SINGLE_USER CON ROLLBACK INMEDIATO SI Db_id ( ' estudiante ' ) NO ES NULL DROP DATABASE estudiante FINAL ELSE COMIENZO CREAR BASE DE DATOS estudiante EN PRIMARIA (NAME = N ' estudiante ' , FILENAME = N ' D: \ ApplicationData \ SQLServer \ student.mdf ' , SIZE = 5 MB, MAXSIZE = UNLIMITED, FILEGROWTH = 15 % ) LOG EN (NOMBRE = N ' student_log ' , FILENAME = N ' D: \ ApplicationData \ SQLSERVER \ student_log.mdf ' , TAMAÑO = 2MB, MAXSIZE = 20MB, FILEGROWTH = 1MB) CONCATALOG_COLLATION = DATABASE_DEFAULT END GO
2. Crear una tabla
USE estudiante; GO SI EXISTE ( SELECCIONAR * DE sys.objects DONDE [ nombre ] = ' studentInfo ' ) frases BEGIN DROP TABLE studentInfo; FIN IR CREAR TABLA studentInfo ( ESTUDIO INT IDENTIDAD CLAVE PRIMARIA ( 1 , 1 ), stuName NVARCHAR ( 20 ) NO NULO , stuPhone NVARCHAR ( 15 ) UNIQUE , stuSex NVARCHAR ( 2 ) CHECK (stuSex = ' 男' OR stuSex = ' 女' ), stuAddress NVARCHAR ( 50 ) DEFAULT ( ' China ' ) ) IR
Tres. Crear un procedimiento almacenado
SI EXISTE ( SELECCIONAR * DE sys.procedures DONDE [ nombre ] = ' procedure_name ' ) COMENZAR DROP PROCEDIMIENTO [ procedure_name ] END GO CREAR PROCEDIMIENTO [ procedure_name ] AS COMENZAR INSERT studentInfo (stuName, stuPhone, stuSex) VALORES ( ' Robin ' , 110 , ' 男' ); ACTUALIZACIÓN studentInfoSET stuPhone = ' 123456 ' DONDE stuName = ' Robin ' ; FIN GO
Cuatro. Crear una vista
USE estudiante; IR A CREAR VER VIEW_NAME COMO SELECCIONAR * DE studentInfo; VAMOS
V. Crear un índice
USO estudiante GO SI EXISTE ( SELECCIONAR * DE sys.indexes DONDE [ nombre ] = ' INDEX_NAME ' ) DROP ÍNDICE INDEX_NAME EN studentInfo CREATE NONCLUSTERED ÍNDICE INDEX_NAME EN studentInfo (stuName) CON FILLFACTOR = 30 GO
Seis. Crea un disparador
SI EXISTE ( SELECCIONE * DE sys.triggers DONDE name = ' TRIGGER_NAME ' ) DROP TRIGGER TRIGGER_NAME IR A CREAR TRIGGER TRIGGER_NAME EN studentInfo PARA ELIMINAR COMO COMENZAR IMPRIMIR ' 删除' FIN
7. Crea una función escalar.
USE estudiante; GO SI EXISTE ( SELECCIONAR * DE sys.objects DONDE tipo = ' FN ' Y [ nombre ] = ' FUNCTION_NAME ' ) DROP FUNCIÓN dbo.FUNCTION_NAME GO CREATE FUNCIÓN dbo.Function_name ( @stuId INT ) VUELVE INT AS EMPIEZAN DECLARE @COUNT INT SELECT @COUNT = Count ( *) DE studentInfo VOLVER @COUNT END GO
8. Crear funciones con valores de tabla
USE estudiante; GO SI EXISTE ( SELECCIONAR * DE sys.objects DONDE tipo = ' IF ' Y [ nombre ] = ' FUNCTION_NAME ' ) DROP FUNCIÓN dbo.FUNCTION_NAME GO CREATE FUNCIÓN dbo.Fnuction_name ( @stuId INT ) RETURNS TABLE AS RETURN ( SELECCIONAR * DE studentInfo ) IR
Nueve. Declarar cursor
DECLARE @STUID INT DECLARE STU_CURSOR CURSOR PARA SELECCIONAR stuId DE studentInfo ABIERTO STU_CURSOR FETCH SIGUIENTE DE STU_CURSOR EN @STUID MIENTRAS @@ FETCH_STATUS = 0 COMENZAR ACTUALIZACIÓN studentInfo SET stuPhone = ' 123456 ' DONDE stuId = @STUID IMPRIMIR @STUID FETCH SIGUIENTE DE STU_CURSOR EN @ FIN DE ESTUIDOS CERRAR STU_CURID DEALLOCATE STU_CURSOR GO