SERVIDOR SQL

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 

 

Supongo que te gusta

Origin www.cnblogs.com/vic-tory/p/12760871.html
Recomendado
Clasificación