Manual de Refer en CIA - SQL Server

March 27, 2018 | Author: RubenMonarca | Category: Microsoft Sql Server, Sql, Table (Database), Information Technology, Computer Engineering


Comments



Description

Manual de referencia SQL SERVERINDICE 1. Bases de datos en Sql Server 2. Tablas 3. Relaciones entre tablas 4. Tipos de datos (T-SQL) 5. Reglas (Rules) 6. Valores predeterminados (Default) 7. Instrucción <<Alter table >> 8. Vistas 9. Procedimientos almacenados 10. Funciones (Roles) 11. Disparadores (Triggers) 12. Procedimientos sp_help 13. Procedimientos almacenados del sistema 1. Bases de datos • Creación de base de datos. Create database nombre de la base de datos. • Ubicación de la base de datos Los archivos se almacenan físicamente en un fichero.mdf. También se crea un fichero log con extensión.ldf. • Eliminación de una base de datos Es posible eliminar más de una base de datos a la vez. drop database nombre_bd1 [,nombre_bd2.......] 2. Tablas • Definiciones completas de tabla create table [base de datos.[propietario].] nombre tabla ({columna tipo de datos[restricciones],.......}) ejemplo: /* ************************** table trabajos ***************************/ CREATE TABLE trabajos (trab_cod smallint IDENTITY(1,1) PRIMARY KEY CLUSTERED, desc_trab varchar(50) NOT NULL DEFAULT 'nueva opsition no formalizada', min_sub tinyint NOT NULL CHECK (min_sub >= 10), max_sub tinyint NOT NULL CHECK (max_sub <= 250) ) /* ***************** tabla empresas ******************** */ CREATE TABLE empresas ( empres_cod char(4) NOT NULL CONSTRAINT pkempres_cod PRIMARY KEY CHECK (empres_cod IN ('1389', '0736', '0877', '1622', '1756') OR empres_cod LIKE '99[0-9][0-9]'), nom_empres varchar(40) NULL, ciudad varchar(20) NULL, pais varchar(30) NULL DEFAULT('USA') ) . empres_cod char(4) NOT NULL DEFAULT ('9952') REFERENCES empresas(empres_cod). fecha_alta datetime NOT NULL DEFAULT (getdate()) ) • Utilizar una expresión para una columna calculada Este ejemplo ilustra el uso de una expresión ((columna1 + columna2)/2) para calcular la columna calculada mimedia. Tabla de la clave principal Muestra el nombre de la tabla de la clave principal de la relación.. Esta tabla muestra la función de las opciones disponibles en el cuadro de diálogo Crear relación-> Opción Función Nombre de la relación Muestra el nombre asignado por el sistema a la relación. trab_cod smallint NOT NULL DEFAULT 1 REFERENCES trabajos(trab_cod). seguido de las columnas que forman la clave externa. columna2 int..}] 3. Puede seleccionar distintas columnas para que coincidan con las columnas mostradas en la tabla de la clave principal.[propietario]. apellido varchar(30) NOT NULL. seguido de las columnas que forman la clave principal../* ************************* tabla empleados ************************* */ CREATE TABLE empleados (emp_cod char(15) CONSTRAINT pkemp_cod PRIMARY KEY CONSTRAINT ckemp_cod CHECK (emp_cod LIKE '[A-Z][A-Z][A-Z][1-9][0-9][0-9][0-9][0-9][FM]' or emp_cod LIKE '[A-Z]-[A-Z][1-9][0-9][0-9][0-9][0-9][FM]'). CREATE TABLE mitabla ( columna1 int. Puede seleccionar distintas columnas para que coincidan con las columnas mostradas en la tabla de la clave externa. Relaciones Puede confirmar las columnas relacionadas y establecer las propiedades de una nueva relación. Para cambiar el nombre a la relación.. mimedia AS (columna1 + columna2)/2 ) • Modificación de tablas Alter table [base de datos.. escriba un nombre nuevo en el cuadro de texto.]nombre tabla [add {columna tipo [restricciones]. Tabla de la clave externa Muestra el nombre de la tabla de la clave externa en la relación. . nombre varchar(20) NOT NULL. pueden también definirse. Enteros bit Datos enteros con valor 1 ó 0. eliminan o actualizan datos en la tabla de la clave externa con estas instrucciones.147.1 (2.Comprobar datos existentes en la creación Aplica la restricción a los datos existentes de la tabla de la clave externa cuando se crea la relación. que son alias de los tipos de datos suministrados por el sistema. 4. numérico Sinónimo de decimal. Tipos de datos (T-SQL) En Microsoft® SQL Server™.767). El conjunto de tipos de datos suministrados por el sistema se muestra debajo. Para obtener más información acerca de los tipos de datos definidos por el usuario. un mensaje de error le notificará que algunos datos han infringido la restricción. tinyint Datos enteros comprendidos 0 y 255. Decimales y numéricos decimal Datos de precisión y escala numérica fijas comprendidos entre -1038 -1 y 1038 -1. money y smallmoney . Cancelar Borra la línea de la relación del diagrama de la base de datos. cada columna. Los tipos de datos definidos por el usuario. smallint Datos enteros comprendidos entre 215 (-32. int Datos enteros (números enteros) comprendidos entre -231 (-2.648) y 231 . Aceptar Crea la relación en el diagrama de la base de datos y establece las propiedades que ha seleccionado.483. Habilitar relación para INSERT y UPDATE Aplica la restricción cuando se agregan. expresión y parámetro tiene un tipo de datos.768) y 215 . variable local.647).483.147. Si se activa esta casilla.1 (32. Habilitar relación para duplicación Copia la restricción cuando la tabla de la clave externa se copia a una base de datos distinta. La relación no se crea. 40E + 38. Numéricos cursor Una referencia a un cursor.money Valores de moneda comprendidos entre -263 (-922. real Números con precisión de coma flotante comprendidos entre -3.337. timestamp Es un número único para toda la base de datos.5807). Numéricos con aproximación float Números con precisión de coma flotante comprendidos entre -1.3647.477. varchar Datos no Unicode de longitud variable con un máximo de 8.79E + 308 y 1.147. smalldatetime Datos de fecha y hora comprendidos entre el 1 de enero de 1900 y el 6 de junio de 2079. con una precisión de un minuto.477. con una precisión de una diezmilésima de la unidad monetaria.483. o 3. text Datos no Unicode de longitud variable con una longitud máxima de 231 .33 milisegundos. smallmoney Valores de moneda comprendidos entre -214. Cadenas de caracteres char Datos de caracteres no Unicode de longitud fija con una longitud máxima de 8.1 (+922.40E + 38 y 3.000 caracteres.748.1 (1. .3648 y +214.685.685.5808) y 263 .748. con una precisión de un trescientosavos de segundo.203.79E + 308.337. con una precisión de una diezmilésima de la unidad monetaria.647) caracteres.203. uniqueidentifier Un identificador exclusivo global (GUID).000 caracteres. datetime y smalldatetime datetime Datos de fecha y hora comprendidos entre el 1 de enero de 1753 y el 31 de diciembre de 9999. Cadenas de caracteres Unicode nchar Datos Unicode de longitud variable con una longitud máxima de 4. Cadenas binarias binary Datos binarios de longitud fija con una longitud máxima de 8. varbinary Datos Unicode de longitud variable con una longitud máxima de 8.073.741.1 1. sysname es el tipo de datos suministrado por el sistema y definido por el usuario que es sinónimo de nvarchar(128) y que se utiliza para hacer referencia a nombres de objetos de bases de datos.000 bytes. nvarchar Datos Unicode de longitud variable con una longitud máxima de 4. image Datos Unicode de longitud variable con una longitud máxima de 231 .000 bytes. Sinónimo Tipo de datos asignado al sistema Binary varying varbinary char varying varchar character char character char(1) character(n) char(n) character varying(n) varchar(nn) Dec decimal Double precision float Flota[(n)] para n = 1-7 real Flota[(n)] para n = 8-15 float Integer int national character(n) nchar(n) national char(n) nchar(n) national character varying(n) nvarchar(n) national char varying(n) nvarchar(n) national text ntext Numeric decimal .000 caracteres. ntext Datos Unicode de longitud variable con una longitud máxima de 230 .147.647) bytes. Sinónimos Los tipos de datos sinónimos se incluyen por compatibilidad con SQL-92.823) caracteres.000 caracteres.483.1 (1. Cuando esto es así. Una columna o tipo de datos definido por el usuario sólo puede tener una regla enlazada. realizan algunas de las mismas funciones que las restricciones de comprobación. tienen exactamente el mismo tipo de datos en una columna y desea asegurarse de que dicha columna tiene exactamente el mismo tipo de datos en todas las tablas. Regla con un intervalo Este ejemplo crea una regla que restringe el intervalo de enteros que se insertan en las columnas a las que la regla está enlazada. 5. CREATE RULE range_rule AS @range >= $1000 AND @range < $20000 . que se basa en el tipo de datos "char" y que consta de dos letras mayúsculas seguidas de un numero de proveedor de 5 cifras. Sintaxis CREATE RULE regla AS expresiónCondición Ejemplos A. longitud.• "Uniqueidentifier" se trata de un numero hexadecimal de 16Bytes que hace referencia a un idenficador exclusivo global (GUID). que son una característica de compatibilidad con versiones anteriores. para compilar una lista de clientes en una compañía en varios países.: el código de producto.. especifica los valores aceptables que se pueden insertar en esa columna. se pueden utilizar cuando varias tablas deben almacenar el mismo tipo de datos en una columna. Rules Cuando se enlaza una regla a una columna o un tipo de datos definido por el usuario. Las reglas. se evalúan todas las restricciones. creadas mediante la palabra clave CHECK de ALTER o CREATE TABLE. • Tipos definidos por el Usuario: Permite que el usuario defina tipos de datos como por Ej. son la forma preferida y estándar de restringir los valores de una columna (se pueden definir restricciones múltiples en una o múltiples columnas). El GUID es especialmente util cuando una fila debe ser única entre otras muchas por ejemplo. Las restricciones CHECK. condición de aceptación de valores nulos.. Sin embargo. Los tipos de datos definidos por el usuario también se llaman UDT se basan en el tipo de datos del sistema. una columna puede tener una regla y una o más restricciones de comprobación asociadas con ella. en una columa con números de identificación de los clientes.. 'employees. Sintaxis sp_bindrule [@rulename =] 'regla'. Enlazar una regla a una columna Suponga que se ha creado una regla llamada today en la base de datos actual mediante la instrucción CREATE RULE. Regla con una lista Este ejemplo crea una regla que restringe los valores actuales que se escriben en las columnas a las que la regla está enlazada. este ejemplo enlaza la regla a la columna hire date de la tabla employees. cualquier número de caracteres (o no caracteres) y un entero entre 0 y 9 al final. a sólo aquellos enumerados en la regla. Las reglas enlazadas a columnas siempre tienen preferencia sobre las enlazadas a tipos de datos. Cuando se agrega una fila a employees.[hire date]' B. Enlazar una regla a un tipo de datos definido por el usuario Suponga que existe una regla llamada rule_ssn y un tipo de datos definido por el usuario llamado ssn. USE master EXEC sp_bindrule 'today'. '0877') C. CREATE RULE list_rule AS @list IN ('1389'. [@objname =] 'nombreObjeto' [. CREATE RULE pattern_rule AS @value LIKE '_ _-%[0-9]' sp_bindrule (T-SQL) Enlaza una regla a una columna o a un tipo de datos definido por el usuario. las columnas del tipo ssn heredan la regla rule_ssn. '0736'. [@futureonly =] 'indicadorSóloFuturo' Ejemplos A. los datos de la columna hire date se comprueban con la regla today. este ejemplo enlaza rule_ssn a ssn. Las columnas existentes del tipo ssn también heredan la regla rule_ssn a menos que se especifique futureonly en indicadorSóloFuturo o que ssn tenga una regla enlazada directamente. Regla con un modelo Este ejemplo crea una regla que sigue un modelo de dos caracteres cualquiera con un guión a continuación.B. En una instrucción CREATE TABLE. 'ssn' . USE master EXEC sp_bindrule 'rule_ssn'. …n] .startdate' B. 'ssn'. EXEC sp_unbindrule 'ssn'.C. EXEC sp_unbindrule ssn C. Sintaxis DROP RULE {regla} [. USE master EXEC sp_bindrule 'rule_ssn'. Sintaxis sp_unbindrule [@objname =] 'nombreObjeto' [. EXEC sp_unbindrule 'employees. Utilizar indicadorSóloFuturo En este ejemplo se desasocia la regla del tipo de datos definido por el usuario ssn sin afectar a las columnas ssn existentes. [@futureonly =] 'indicadorSóloFuturo'] Ejemplos A. Utilizar indicadorSóloFuturo Este ejemplo enlaza la regla rule_ssn al tipo de datos definido por el usuario ssn. Desasociar una regla de una columna En este ejemplo se desasocia la regla de la columna startdate de la tabla employees. esto no afecta a ninguna de las columnas existentes de tipo ssn. Como se especifica futureonly. 'futureonly' sp_unbindrule (T-SQL) Desasocia una regla de una columna o de un tipo de datos definido por el usuario en la base de datos actual. Desasociar una regla de un tipo de datos definido por el usuario En este ejemplo se desasocia la regla del tipo de datos definido por el usuario ssn. 'futureonly' DROP RULE (T-SQL) Quita una o más reglas definidas por el usuario de la base de datos actual. Crear un valor predeterminado sencillo de carácter Este ejemplo crea un valor predeterminado de carácter de desconocido. el siguiente ejemplo enlaza el valor predeterminado a la columna hire date de la tabla employees. que son una característica de compatibilidad con versiones anteriores. USE pubs GO CREATE DEFAULT phonedflt AS 'unknown' sp_bindefault (T-SQL) Enlaza un valor predeterminado a una columna o a un tipo de datos definido por el usuario. un valor predeterminado es útil cuando se utiliza múltiples veces en múltiples columnas. [@objname =] 'nombreObjeto' [. realizan algunas de las mismas funciones que las definiciones predeterminadas creadas mediante la palabra clave DEFAULT de las instrucciones ALTER o CREATE TABLE. la columna obtiene el valor predeterminado today. en el caso de un tipo de datos definido por el usuario) cuando no se proporciona explícitamente un valor durante la inserción. Sintaxis sp_bindefault [@defname =] 'predeterminado'. Los valores predeterminados. DEFAULT (T-SQL) Cuando se enlaza a una columna o tipo de datos definido por el usuario. Enlazar un valor predeterminado a una columna Suponga que se ha definido un valor predeterminado llamado today en la base de datos actual mediante la instrucción CREATE DEFAULT. Las definiciones predeterminadas son el método preferido y estándar de restringir los datos de columna. 'employees.6. Sintaxis CREATE DEFAULT predeterminado AS expresiónConstante Ejemplos A.[hire date]' . un valor predeterminado especifica un valor que debe insertarse en la columna a la que está enlazada el objeto (o en todas las columnas. debido a que la definición se almacena con la tabla y se quita automáticamente cuando se quita ésta. USE master EXEC sp_bindefault 'today'. Siempre que se agrega una fila a la tabla employees y no se proporcionan datos para la columna hire date. [@futureonly =] 'indicadorSóloFuturo'] Ejemplos A. Sin embargo. Enlazar un valor predeterminado a un tipo de datos definido por el usuario Suponga que existe un valor predeterminado llamado def_ssn y un tipo de datos definido por el usuario llamado ssn. 'futureonly' sp_unbindefault (T-SQL) Desasocia (quita) un valor predeterminado de una columna o de un tipo de datos definido por el usuario en la base de datos actual.B. 'ssn'. Sintaxis sp_unbindefault [@objname =] 'nombreObjeto' [. Utilizar indicadorSóloFuturo Este ejemplo enlaza el valor predeterminado def_ssn al tipo de datos definido por el usuario ssn. Para obtener información acerca de cómo quitar restricciones DEFAULT (creadas con la opción DEFAULT de las instrucciones CREATE TABLE o ALTER TABLE). Los valores predeterminados enlazados a columnas siempre tienen preferencia sobre los enlazados a tipos de datos. esto no afecta a ninguna de las columnas existentes de tipo ssn. Sintaxis DROP DEFAULT {predeterminado} [. La instrucción DROP DEFAULT no se aplica a las restricciones DEFAULT. USE master EXEC sp_bindefault 'def_ssn'. [@futureonly =] 'indicadorSóloFuturo'] DROP DEFAULT (T-SQL) Quita uno o más valores predeterminados definidos por el usuario de la base de datos actual. 'ssn' C. Las columnas existentes del tipo ssn también heredan el valor predeterminado def_ssn a menos que se especifique futureonly en el valor indicadorSóloFuturo o que haya un valor predeterminado enlazado directamente a la columna. USE master EXEC sp_bindefault 'def_ssn'. Como se especifica futureonly. Todas las columnas que tienen asignado el tipo de datos definido por el usuario ssn heredan el valor predeterminado cuando se crea una tabla.…n] . consulte ALTER TABLE. este ejemplo enlaza el valor predeterminado def_ssn al tipo de datos definido por el usuario ssn. ..n] | [WITH CHECK | WITH NOCHECK] ADD { <restricciónTabla> }[.…n]} <definiciónColumna> ::= { nombreColumna tipoDatos } [ [ DEFAULT expresiónConstante ] | [ IDENTITY [(inicialización.....n] <restricciónColumna> ::= [CONSTRAINT nombreRestricción] { [ NULL | NOT NULL ] | [ { PRIMARY KEY | UNIQUE } [CLUSTERED | NONCLUSTERED] [WITH FILLFACTOR = factorRelleno] [ON {grupoArchivos | DEFAULT} ]] ] | [ [FOREIGN KEY] REFERENCES tablaRef [(columnaRef) ] [NOT FOR REPLICATION] ] | CHECK [NOT FOR REPLICATION] (expresiónLógica) } <restricciónTabla> ::= [CONSTRAINT nombreRestricción] { [ { PRIMARY KEY | UNIQUE } .n] | {CHECK | NOCHECK} CONSTRAINT {ALL | nombreRestricción[. escala] ) ] [ NULL | NOT NULL ] | {ADD | DROP} ROWGUIDCOL } ] | ADD { [ <definiciónColumna> ] | nombreColumna AS expresiónCalculadaColumna }[.…n]} | {ENABLE | DISABLE} TRIGGER {ALL | nombreDesencadenador[. agregar o quitar columnas y restricciones.7.. o al deshabilitar o habilitar restricciones y desencadenadores.n] | DROP { [CONSTRAINT] nombreRestricción | COLUMN columna }[.. Sintaxis ALTER TABLE tabla [ALTER COLUMN nombreColumna { nuevoTipoDatos [ (precisión[. ALTER TABLE (T-SQL) Modifica una definición de tabla al alterar... incremento ) [NOT FOR REPLICATION] ] ] ] [ ROWGUIDCOL ] [ <restricciónColumna>] [ .. . Alterar una tabla para agregar una nueva columna El ejemplo siguiente agrega una columna que permite valores nulos y a la que no se han proporcionado valores mediante una definición DEFAULT. column_b VARCHAR(20) NULL) GO ALTER TABLE doc_exb DROP COLUMN column_b GO EXEC sp_help doc_exb GO DROP TABLE doc_exb GO C.n])] [NOT FOR REPLICATION] | DEFAULT expresiónConstante [FOR columna] | CHECK [NOT FOR REPLICATION] (expresiónLógica) } Ejemplos A. CREATE TABLE doc_exa ( column_a INT) GO ALTER TABLE doc_exa ADD column_b VARCHAR(20) NULL GO EXEC sp_help doc_exa GO DROP TABLE doc_exa GO B.. Alterar una tabla para agregar una columna con una restricción El ejemplo siguiente agrega una nueva columna con una restricción UNIQUE..n])] REFERENCES tablaReferencia [(columnaReferencia[.....[ CLUSTERED | NONCLUSTERED] { ( columna[. CREATE TABLE doc_exc ( column_a INT) GO ALTER TABLE doc_exc ADD column_b VARCHAR(20) NULL CONSTRAINT exb_unique UNIQUE GO . Cada fila tendrá un valor NULL en la nueva columna. CREATE TABLE doc_exb ( column_a INT. Alterar una tabla para quitar una columna El ejemplo siguiente modifica una tabla para quitar una columna...n] ) } [ WITH FILLFACTOR = factorRelleno] [ON {grupoArchivos | DEFAULT} ] ] | FOREIGN KEY [(columna[. CREATE TABLE doc_exd ( column_a INT) GO INSERT INTO doc_exd VALUES (-1) GO ALTER TABLE doc_exd WITH NOCHECK ADD CONSTRAINT exd_check CHECK (column_a > 1) GO EXEC sp_help doc_exd GO DROP TABLE doc_exd GO E. */ column_e DECIMAL(3. */ column_b INT IDENTITY CONSTRAINT column_b_pk PRIMARY KEY.EXEC sp_help doc_exc GO DROP TABLE doc_exc GO D. CREATE TABLE doc_exe ( column_a INT CONSTRAINT column_a_un UNIQUE) GO ALTER TABLE doc_exe ADD /* Add a PRIMARY KEY identity column. La columna tiene un valor que infringe la restricción. */ column_c INT NULL CONSTRAINT column_c_fk REFERENCES doc_exe(column_a). /* Add a nonnull column with a default. Alterar una tabla para agregar varias columnas con restricciones El ejemplo siguiente agrega varias columnas con restricciones que se definen con la nueva columna. Alterar una tabla para agregar una restricción que no se comprueba El ejemplo siguiente agrega una restricción a una columna existente de la tabla.3) CONSTRAINT column_e_default . /* Add a column referencing another column in the same table. cada fila de la tabla tiene nuevos valores incrementales en la columna de identidad. /* Add a column with a constraint to enforce that */ /* nonnull data is in a valid phone number format. */ column_d VARCHAR(16) NULL CONSTRAINT column_d_chk CHECK (column_d IS NULL OR column_d LIKE "[0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]" OR column_d LIKE "([0-9][0-9][0-9]) [0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]"). La primera columna nueva tiene una propiedad IDENTITY. por tanto. se utiliza WITH NOCHECK para impedir que la restricción se valide contra las filas existentes y para permitir que se agregue la restricción. utiliza ENABLE TRIGGER para volver a habilitar el desencadenador.Valid inserts INSERT INTO cnst_example VALUES (1. will fail. INSERT INTO cnst_example VALUES (3. Agregar una columna que acepta Null con valores predeterminados El ejemplo siguiente agrega una columna que acepta Null con una definición DEFAULT y utiliza WITH VALUES para proporcionar los valores de cada fila existente en la tabla.Reenable the constraint and try another insert. WITH NOCHECK CONSTRAINT se utiliza con ALTER TABLE para deshabilitar la restricción y permitir una inserción que normalmente infringiría la restricción."Pat Jones". WITH CHECK CONSTRAINT se emplea para volver a habilitar la restricción. CREATE TABLE cnst_example (id INT NOT NULL. ."Joe Brown". A continuación. cada fila tiene el valor NULL en la nueva columna. name VARCHAR(10) NOT NULL. ALTER TABLE cnst_example CHECK CONSTRAINT salary_cap INSERT INTO cnst_example VALUES (4.081 GO EXEC sp_help doc_exe GO DROP TABLE doc_exe GO F. Deshabilitar y volver a habilitar una restricción El ejemplo siguiente deshabilita una restricción que limita los salarios que se aceptan en los datos."Eric James"."Pat Jones". salary MONEY NOT NULL CONSTRAINT salary_cap CHECK (salary < 100000) ) -. ALTER TABLE cnst_example NOCHECK CONSTRAINT salary_cap INSERT INTO cnst_example VALUES (3.DEFAULT .110000) H. Si no se utiliza WITH VALUES.This insert violates the constraint.65000) INSERT INTO cnst_example VALUES (2.105000) -.Disable the constraint and try again. ALTER TABLE MyTable ADD AddDate smalldatetime NULL CONSTRAINT AddDateDflt DEFAULT getdate() WITH VALUES G.105000) -."Mary Smith". Deshabilitar y volver a habilitar un desencadenador El ejemplo siguiente utiliza la opción DISABLE TRIGGER de ALTER TABLE para deshabilitar el desencadenador y permitir una inserción que normalmente infringiría el desencadenador.75000) -. considere estas indicaciones: • Sólo puede crear vistas en la base de datos actual.100001) GO 8.100001) GO -."Pat Smith".000" ROLLBACK TRANSACTION END GO -.Reenable the trigger. INSERT INTO trig_example VALUES (3. salary MONEY) go -. las tablas y las vistas a las que se haga referencia desde la nueva vista pueden encontrarse en otras bases de datos e.Create the trigger.Attempt an insert that violates the trigger. name VARCHAR(10). si la vista se define mediante consultas distribuidas. ALTER TABLE trig_example DISABLE TRIGGER trig1 GO -. • Los nombres de las vistas deben seguir las reglas para los identificadores y ser únicos para cada usuario. incluso. . Vistas Antes de crear una vista.Disable the trigger. el nombre debe ser distinto del de cualquier tabla de las que el usuario sea propietario. Además. Sin embargo."Chuck Jones"."Mary Booth".CREATE TABLE trig_example (id INT.Attempt an insert that violates the trigger. ALTER TABLE trig_example ENABLE TRIGGER trig1 GO -.100001) GO -. • Puede generar vistas dentro de otras vistas y en procedimientos que hagan referencia a vistas. INSERT INTO trig_example VALUES (1. CREATE TRIGGER trig1 ON trig_example FOR INSERT as IF (SELECT COUNT(*) FROM INSERTED WHERE salary > 100000) > 0 BEGIN print "TRIG1 Error: you attempted to insert a salary > $100. en otros servidores. Microsoft® SQL Server™ permite anidar hasta 32 niveles de vistas.Attempt an insert that would normally violate the trigger INSERT INTO trig_example VALUES (2. ni vistas dentro de tablas temporales. aunque una definición de vista puede incluir una consulta de texto si ésta hace referencia a una tabla configurada para indización de texto. Las vistas se pueden utilizar como mecanismos de seguridad al conceder permisos sobre una vista. una función integrada o una constante. en caso contrario. aunque no cambie su nombre. el mismo nombre (normalmente.…n])] [WITH ENCRYPTION] AS instrucciónSelección [WITH CHECK OPTION] o Drop view vista . Debe especificar el nombre de todas las columnas de la vista en el caso de que: • Alguna de las columnas de la vista derive de una expresión aritmética.• No puede asociar reglas. • La consulta que defina a la vista no puede incluir las cláusulas ORDER BY. ni la palabra clave INTO. definiciones DEFAULT ni desencadenadores con las vistas. • No puede crear vistas temporales. • No puede generar índices ni crear definiciones de índices de texto en las vistas. Una columna de una vista hereda los tipos de datos de la columna de la que deriva. • No puede emitir consultas de texto en una vista. pero no sobre las tablas subyacentes (base). Sintaxis CREATE VIEW nombreVista [(columna [. • Dos o más columnas de la vista tendrían. COMPUTE o COMPUTE BY. debido a que la definición de la vista incluye una combinación y las columnas de dos o más tablas diferentes tienen el mismo nombre). Desee darle a una columna de la vista un nombre distinto del de la columna de la que deriva. • Creacion de vistas (T-SQL) Crea una tabla virtual que representa los datos de una o más tablas de una forma alternativa. (También puede cambiar el nombre de las columnas en la vista). Para crear varios procedimientos de una sola vez: create procedure procedimiento 1. que puede tomar y devolver parámetros proporcionados por el usuario.n] [WITH { RECOMPILE | ENCRYPTION | RECOMPILE.número] [ {@parámetro tipoDatos} [VARYING] [= predeterminado] [OUTPUT] ] [. Los procedimientos se pueden crear para uso permanente o para uso temporal en la sesión de un usuario (procedimiento local temporal) o para el uso temporal en todas las sesiones del usuario (procedimiento temporal global).2 as select * from tabla2 .9.... Sintaxis CREATE PROC[EDURE] nombreProcedimiento [..Para ejecutarlos se haria lo siguiente: Execute nombreprocedimiento sin índice ..Para eliminar un procedimiento se pone: Drop nombreprocedimiento . Los procedimientos almacenados se pueden crear también para que se ejecuten automáticamente cuando se inicia Microsoft® SQL Server™. n as sentencia SQL por ejemplo: Create procedure procedimiento 1.n] Create procedure nombreprocedimiento as sentencias SQL por ejemplo: create procedure procedimiento as select * from table1 Para ejecutar el procedimiento se pone: EXECUTE procedimiento . 2 as select * from tabla1 create procedure procedimiento 1. ENCRYPTION } ] [FOR REPLICATION] AS instrucciónSQL [. Procedimientos almacenados Es una colección de instrucciones Transact-SQL. au_id and titles. pub_name from authors a.pub_id=p.pub_id=publishers. . titleauthor ta where @editor=p.title_id=ta. -Las sentencias SQL tienen un limite de 255 procedimientos almacenados (es decir hasta 255 filas).au_id=titleauthor. titles. pub_name from authors. @var2 tipo as sentencias SQL. La base de datos a utilizar es pubs SOLUCIÓN: create proc ejemplo1 @nombre varchar(20). @apellido varchar(20) as select au_lname. EJERCICIO: Hacer un procedimiento que devuelva los nombres de todos los autores que han publicado un libro con un editor cuyo nombre y apellido se pasaran como parametros de entrada. @apellido='white' EJERCICIO: Procedimiento que devuelve todos los autores que han publicado un libro con un editor determinado que se pasaran como variable de entrada. SOLUCION: create procedure ejemplo2 @editor varchar(20)='algodata Infosyste' as select au_lname.pub_id nota: despues de los nombres de las tablas se pone la inicial. para renombrarla y despues ser mas facil poner su nombre.Un procedimiento almacenado también pueden tener parámetros de entrada que llegan hasta 255 y otros de salida (sin limite). au_fname. titleauthor where au_fname=@nombre and au_lname=@apellido and authors. .title_id and t. titles t.title_id=titleauthor.pub_id PARA EJECUTARLO: execute ejemplo1 @nombre='johnson'. se llaman alias ------------------------------------------------------------------------------------------------------------ .pub_name and t. publishers p. title. Se declaran justo despues del nombreprocedimiento: create procedure nombreprocedimiento @var1 tipo.Solo el usuario de la base de datos puede crear procedimientos almacenados dentro se BD. publishers.Los procedimientos almacenados solo se compilan la primera vez que se ejecutan..Las sentencias SQL de los procedimientos almacenados se almacenan en la tabla syscomments de la BD master. au_fname. .title_id and titles. SOLUCION: Este procedimiento devuelve 100 si un determinado alumno de una tabla esta suspenso y 200 si esta aprobado. sentencias de eliminación como DROP. . CREATE PROC APROBADO @VAR VARCHAR(20) AS IF (SELECT NOTAS FROM TABLE1 WHERE NOMBRE=@VAR)>5 RETURN 200 ELSE RETURN 100 Definir otro procedimiento que utiliza este primero y presenta un mensaje indicando si un alumno esta aprobado o no CREATE PROC MOSTRAR @VAR VARCHAR(20) AS DECLARE @RETORNO INT EXECUTE @RETORNO= APROBADO @VAR IF (@RETORNO=100) PRINT 'ALUMNO SUSPENSO' ELSE PRINT 'ALUMNO APROBADO' EXECUTE MOSTRAR 'FRAN '” .No se puede volver a crear en un procedimiento almacenado con el mismo nombre de otro que fue eliminado en el mismo. EJERCICIO: Al introducir el nombre del alumno queremos ver también su nota: SOLUCION: CREATE PROCEDURE PROC1 @VAR VARCHAR(30)=NULL AS IF @VAR IS NULL PRINT 'INTRODUCE EL NOMBRE DEL ALUMNO' ELSE SELECT NOMBRE. NOTAS FROM TABLE1 WHERE NOMBRE=@VAR EJERCICIO: Como poder utilizar los valores devueltos de un procedimiento como variable de entrada de a otro procedimiento.Un procedimiento no puede tener sentencias de creación: CREATE VIEW CREATE DEFAULT CREATE TRIGGER CREATE ROLES pero sí.. denegados o retirados de una función se aplican a todos los miembros de la función. solo tiene que asignarlos a la nueva función. Cuando los trabajadores cambian de puesto de trabajo. Roles Las funciones son una herramienta que permite agrupar usuarios en una única unidad a la que se puede aplicar permisos. elimínelos de la función que represente dicho tipo de trabajo. deniegue o retire permisos repetitivamente a cada persona que incorpore o deje la organización. Los permisos se aplican automáticamente cuando los usuarios se definen como miembros de una función.10. mientras que los alumnos Betty y Ralph sólo pueden seleccionar sus graduaciones. La siguiente secuencia de instrucciones muestra la inclusión de algunos inicios de sesión. consulte Grupos. es más sencillo cambiar una sola vez los permisos de la función y hacer que los cambios se apliquen automáticamente a todos los miembros de la función. denegados o retirados de una función se aplican a los miembros de la función. No es necesario que conceda. Puede establecer una función que represente uno de los tipos de trabajo de su organización y conceder los permisos adecuados a dicha función. usuarios y funciones. Es más sencillo administrar los permisos en una base de datos si define un conjunto de funciones basadas en los tipos de trabajo y asigna a cada función los permisos aplicables para desempeñar dicho trabajo. En Microsoft® SQL Server™ . sólo tiene que pasar los usuarios de una función a otra. Puede establecer una función que represente uno de los tipos de trabajo de su organización y conceder los permisos apropiados a dicha función. deniegue o retire permisos repetitivamente a cada persona que se incorpore o deje la organización. mientras que StudentGradeView tiene que restringir que los alumnos sólo vean sus propias calificaciones. los usuarios pueden pertenecer a varias funciones. Los permisos se aplican automáticamente cuando los usuarios se definen como miembros de una función. Para obtener más información. . Diane ha sido incluida en las dos funciones porque es profesora en una clase y alumna en otra. Si la función asociada con un trabajo cambia. La vista ProfessorGradeView tiene que restringir que los profesores sólo vean las filas de los alumnos de sus clases. A partir de este punto. No es necesario que conceda. Los permisos concedidos. elimínelos de la función que represente dicho tipo de trabajo. sólo tiene que asignarlos a la nueva función. cuando dejen un puesto. en lugar de tener que administrar los permisos de cada usuario de forma individual. Los grupos de Windows NT se pueden utilizar de forma muy similar a las funciones. Cuando dejen un puesto. y la asignación de permisos a las funciones. Los permisos concedidos. Cuando los trabajadores cambian de puesto de trabajo. La secuencia de instrucciones asigna a los profesores John y Sarah permiso para actualizar la graduación de los alumnos. Funciones Las funciones son una herramienta eficaz que permite agrupar usuarios en una única unidad a la que se pueden aplicar permisos. ‘NETDOMAIN\Diane’ GO sp_addrolemember 'Student'. ‘NETDOMAIN\John’ GO sp_addrolemember 'Professor'. ‘NETDOMAIN\Diane’ GO . ‘courses’ GO sp_grantlogin ‘NETDOMAIN\Ralph’ GO sp_defaultdb 'NETDOMAIN\Ralph'. ‘NETDOMAIN\Ralph’ GO sp_addrolemember 'Student'. 'courses' GO sp_grantlogin ‘NETDOMAIN\Betty’ GO sp_defaultdb 'NETDOMAIN\Betty'. ‘courses’ GO USE courses GO sp_grantdbaccess ‘NETDOMAIN\John’ GO sp_grantdbaccess ‘NETDOMAIN\Sarah’ GO sp_grantdbaccess ‘NETDOMAIN\Betty’ GO sp_grantdbaccess ‘NETDOMAIN\Ralph’ GO sp_grantdbaccess ‘NETDOMAIN\Diane’ GO sp_addrole 'Professor' GO sp_addrole 'Student' GO sp_addrolemember 'Professor'. ‘courses’ GO sp_grantlogin ‘NETDOMAIN\Diane’ GO sp_defaultdb 'NETDOMAIN\Diane'. ‘NETDOMAIN\Sarah’ GO sp_addrolemember 'Professor'. ‘courses’ GO sp_grantlogin ‘NETDOMAIN\Sarah’ GO sp_defaultdb 'NETDOMAIN\Sarah'. ‘NETDOMAIN\Betty’ GO sp_addrolemember 'Student'.USE master GO sp_grantlogin ‘NETDOMAIN\John’ GO sp_defaultdb 'NETDOMAIN\John'. db_datawriter Puede modificar todos los datos de cualquier tabla de usuario de la base de datos. si Database1 y Database2 tienen ambas un Id. securityadmin Permite administrar inicios de sesión y permisos CREATE DATABASE. . db_datareader Puede seleccionar todos los datos de cualquier tabla de usuario de la base de datos. db_ddladmin Puede utilizar todas las instrucciones DDL. Función fija de servidor Descripción sysadmin Permite realizar cualquier actividad en SQL Server. Diane ha sido incluida en las dos funciones porque es profesora en una clase y alumna en otra. db_backupoperator Puede utilizar las instrucciones DBCC. la inclusión de UserX en la función fija db_owner de la base de datos en Database1 no hace que UserX sea miembro de la función fija db_owner en Database2 . Función fija de base de datos Descripción db_owner Tiene todos los permisos de la base de datos. dbcreator Permite crear y alterar bases de datos. db_securityadmin Puede administrar todos los permisos. UPDATE ON ProfessorGradeView TO Professor GO La secuencia de instrucciones asigna a los profesores John y Sarah permiso para actualizar la graduación de los alumnos. Si bien todas las bases de datos tienen funciones con estos mismos nombres. REVOKE y DENY. la propiedad de los objetos. mientras que StudentGradeView tiene que restringir que los alumnos sólo vean sus propias calificaciones En la instalación de SQL Server se definen varias funciones fijas. processadmin Permite administrar los procesos que se ejecutan en SQL Server. Estas son las funciones del servidor. db_accessadmin Puede agregar o quitar los Id. Por ejemplo. setupadmin Permite administrar servidores vinculados y procedimientos de inicio. Cada base de datos tiene un conjunto de funciones fijas de la base de datos. mientras que los alumnos Betty y Ralph sólo pueden seleccionar sus graduaciones. también permite leer los registros de errores. de usuario.GRANT SELECT ON StudentGradeView TO Student GO GRANT SELECT. de usuario UserX. las funciones y la pertenencia a ellas. A estas funciones se puedan agregar usuarios para que dispongan de los permisos de administración asociados. menos las instrucciones GRANT. db_denydatareader Puede denegar o retirar permisos SELECT sobre cualquier objeto. serveradmin Permite establecer opciones de configuración del servidor y apagar el servidor. el alcance de cada función individual es sólo su base de datos concreta. diskadmin Permite administrar archivos de disco. CHECKPOINT y BACKUP. La vista ProfessorGradeView tiene que restringir que los profesores sólo vean las filas de los alumnos de sus clases. Puede obtener la lista de las funciones fijas del servidor mediante sp_helpsrvrole y obtener los permisos específicos de cada función mediante sp_srvrolepermission. UPDATE y DELETE sobre cualquier objeto. Estas sentencias se especifican en la clausula FOR {insert. delete}. sentencias SQL Las barras / son para especificar que tiene que ser una de las tres. SINTAXIS: Create triggers nombretrigger ON tabla FOR {insert. delete} AS IF insert/update/delete (nombre columna) AND/OR insert/update/delete (nombre columna2) .Los triggers estan vinculados de manera inseparable de la tabla que motiva su ejecución hasta el punto de que solo el propietario de una tabla puede definir un trigger asociado a la misma.El trigger se ejecuta como respuesta a la aplicación de ciertas sentencias de modificación sobre la tabla asociada.El propietario de una tabla no puede otorgar el permiso de definicion de triggers sobre la misma a ningun otro usuario. dicho usuario utiliza los permisos asignados a la función public. 11. Si quiere que todos los usuarios de una base de datos puedan tener un permiso específico. Todos los usuarios de una base de datos pertenecen a la función public de la base de datos. Triggers Es un tipo especial de procedimiento almacenados que se ejecutan automaticamente como respuesta a una determinada modificacion de una tabla. . update.. . . Las llaves son para especificar que pueden ser una o mas. update.. asigne el permiso a la función public.db_denydatawriter Puede denegar o retirar permisos INSERT. Si a un usuario no se le han concedido específicamente permisos sobre un objeto.. Puede obtener la lista de las funciones fijas de la base de datos mediante sp_helpdbfixedrole y obtener la lista de los permisos específicos de cada función mediante sp_dbfixedrolepermission. . Procedimientos sp_help • sp_helptext (T-SQL) Imprime el texto de una regla. Sintaxis sp_help [[@objname =] nombre] • sp_helpfile (T-SQL) Devuelve los nombres físicos y los atributos de los archivos asociados con la base de datos actual. Sintaxis sp_helpsrvrole [[@srvrolename =] 'función'] • sp_srvrolepermission (T-SQL) Devuelve los permisos aplicados a una función fija de servidor. o una vista.12. un valor predeterminado o un procedimiento almacenado o desencadenador no cifrados. Sintaxis sp_srvrolepermission [[@srvrolename =] 'función'] • sp_helpdbfixedrole (T-SQL) Devuelve la lista de las funciones fijas de base de datos. de un tipo de datos definido por el usuario o de un tipo de datos proporcionado por Microsoft® SQL Server™. Sintaxis sp_helpfile [[@filename =] 'nombre'] • sp_helpsrvrole (T-SQL) Devuelve la lista de las funciones fijas de servidor de Microsoft® SQL Server™. Sintaxis sp_helptext [@objname =] 'nombre' • sp_help (T-SQL) Presenta información acerca de un objeto de la base de datos (cualquier objeto de la tabla sysobjects). Sintaxis sp_dbfixedrolepermission [[@rolename =] 'función'] . Sintaxis sp_helpdbfixedrole [@rolename =] 'función' • sp_dbfixedrolepermission (T-SQL) Muestra los permisos para cada función fija de base de datos. Utilice este procedimiento almacenado para determinar los nombres de los archivos que vaya a asignar o quitar del servidor. [@defdb =] 'baseDatos' • sp_addrole (T-SQL) Crea una nueva función de Microsoft® SQL Server™ en la base de datos actual. [@membername =] 'cuentaSeguridad' 13. Los procedimientos almacenados del sistema se agrupan en estas categorías. • sp_defaultdb (T-SQL) Cambia la base de datos predeterminada de un inicio de sesión. Procedimientos del Agente SQL Server Utilizados por el Agente SQL Server para administrar actividades programadas y controladas por sucesos. Procedimientos de seguridad Utilizados para administrar la seguridad. Procedimientos de duplicación Utilizados para administrar la duplicación.• sp_grantlogin (T-SQL) Permite a una cuenta de usuario o de grupo de Microsoft® Windows NT® conectar con Microsoft SQL Server™ mediante la autenticación de Windows NT. Procedimientos almacenados del sistema Se pueden realizar muchas actividades administrativas e informativas de Microsoft® SQL Server™ a través de los procedimientos almacenados del sistema.[@ownername =] 'propietario'] • sp_addrolemember (T-SQL) Agrega una cuenta de seguridad como miembro de una función de Microsoft® SQL Server™ existente en la base de datos actual. Sintaxis sp_defaultdb [@loginame =] 'inicioSesión' . Procedimientos de cursor Implementan la funcionalidad de variable de cursor. Procedimientos de consultas distribuidas Utilizados para implementar y administrar consultas distribuidas. . Sintaxis sp_addrole [@rolename =] 'función' [. Sintaxis sp_addrolemember [@rolename =] 'función'. Categoría Descripción Procedimientos de catálogo Implementan las funciones del diccionario de datos de ODBC y aíslan las aplicaciones de ODBC de los cambios en las tablas subyacentes del sistema. Procedimientos del Ayudante de Web Utilizados por el Ayudante de Web. Procedimientos de catálogo sp_column_privileges sp_special_columns sp_columns sp_sproc_columns sp_databases sp_statistics sp_fkeys sp_stored_procedures sp_pkeys sp_table_privileges sp_server_info sp_tables Procedimientos de cursor sp_cursor_list sp_describe_cursor_tables sp_describe_cursor sp_describe_cursor_columns Procedimientos del Agente SQL Server sp_add_alert sp_help_jobschedule sp_add_category sp_help_jobserver sp_add_job sp_help_jobstep sp_add_jobschedule sp_help_notification sp_add_jobserver sp_help_operator sp_add_jobstep sp_help_targetserver sp_add_notification sp_help_targetservergroup sp_add_operator sp_helphistory . Cuando se utiliza la biblioteca de red de memoria compartida. Para indicar un error. Nota A menos que se documente específicamente lo contrario. Procedimientos extendidos de SQL Mail Utilizados para realizar operaciones de correo electrónico desde SQL Server. Analizador de SQL Server Procedimiento extendido del Analizador de SQL Server contra un servidor local a través del Analizador de consultas de SQL Server. que indica que son correctos. se devuelve un valor distinto de cero. todos los procedimientos almacenados del sistema devuelven un valor de 0. Procedimientos extendidos generales Proporcionan una interfaz de SQL Server a los programas externos para diversas actividades de mantenimiento. utilice la Autentificación de Windows. SQL Server no admite la representación a menos que se conecte mediante la Autenticación de Windows.Procedimientos del sistema Utilizados para el mantenimiento general de SQL Server. Procedimientos de Automatización OLE Permiten utilizar objetos de Automatización OLE estándar dentro de un proceso por lotes estándar de Transact-SQL. sp_add_targetservergroup sp_helptask sp_add_targetsvrgrp_member sp_manage_jobs_by_login sp_addtask sp_msx_defect sp_apply_job_to_targets sp_msx_enlist sp_delete_alert sp_post_msx_operation sp_delete_category sp_purge_jobhistory sp_delete_job sp_purgehistory sp_delete_jobschedule sp_reassigntask sp_delete_jobserver sp_remove_job_from_targets sp_delete_jobstep sp_resync_targetserver sp_delete_notification sp_start_job sp_delete_operator sp_stop_job sp_delete_targetserver sp_update_alert sp_delete_targetservergroup sp_update_category sp_delete_targetsvrgrp_member sp_update_job sp_droptask sp_update_jobschedule sp_help_alert sp_update_jobstep sp_help_category sp_update_notification sp_help_downloadlist sp_update_operator sp_help_job sp_update_targetservergroup sp_help_jobhistory sp_updatetask Procedimientos de duplicación sp_add_agent_parameter sp_dsninfo sp_add_agent_profile sp_dumpparamcmd sp_addarticle sp_enumcustomresolvers sp_adddistpublisher sp_enumdsn sp_adddistributiondb sp_enumfullsubscribers sp_adddistributor sp_expired_subscription_cleanup sp_addmergearticle sp_generatefilters sp_addmergefilter sp_getmergedeletetype sp_addmergepublication sp_get_distributor sp_addmergepullsubscription sp_grant_publication_access sp_addmergepullsubscription_agent sp_help_agent_default sp_addmergesubscription sp_help_agent_parameter sp_addpublication sp_help_agent_profile sp_addpublication_snapshot sp_help_publication_access sp_addpublisher70 sp_helparticle sp_addpullsubscription sp_helparticlecolumns sp_addpullsubscription_agent sp_helpdistpublisher sp_addsubscriber sp_helpdistributiondb sp_addsubscriber_schedule sp_helpdistributor sp_addsubscription sp_helpmergearticle sp_addsynctriggers sp_helpmergearticleconflicts sp_addtabletocontents sp_helpmergeconflictrows sp_article_validation sp_helpmergedeleteconflictrows sp_articlecolumn sp_helpmergefilter sp_articlefilter sp_helpmergepublication sp_articlesynctranprocs sp_helpmergepullsubscription sp_articleview sp_helpmergesubscription . sp_browsereplcmds sp_helppublication sp_change_agent_parameter sp_helppullsubscription sp_change_agent_profile sp_helpreplicationdboption sp_changearticle sp_helpsubscriberinfo sp_changedistpublisher sp_helpsubscription sp_changedistributiondb sp_helpsubscription_properties sp_changedistributor_password sp_link_publication sp_changedistributor_property sp_mergedummyupdate sp_changemergearticle sp_mergesubscription_cleanup sp_changemergefilter sp_publication_validation sp_changemergepublication sp_refreshsubscriptions sp_changemergepullsubscription sp_reinitmergepullsubscription sp_changemergesubscription sp_reinitmergesubscription sp_changepublication sp_reinitpullsubscription sp_changesubscriber sp_reinitsubscription sp_changesubscriber_schedule sp_removedbreplication sp_changesubstatus sp_replcmds sp_change_subscription_properties sp_replcounters sp_check_for_sync_trigger sp_repldone sp_deletemergeconflictrow sp_replflush sp_drop_agent_parameter sp_replicationdboption sp_drop_agent_profile sp_replication_agent_checkup sp_droparticle sp_replsetoriginator sp_dropdistpublisher sp_replshowcmds sp_dropdistributiondb sp_repltrans sp_dropdistributor sp_revoke_publication_access sp_dropmergearticle sp_script_synctran_commands sp_dropmergefilter sp_scriptdelproc sp_dropmergepublication sp_scriptinsproc sp_dropmergepullsubscription sp_scriptmappedupdproc sp_dropmergesubscription sp_scriptupdproc sp_droppublication sp_subscription_cleanup sp_droppullsubscription sp_table_validation sp_dropsubscriber sp_update_agent_profile sp_dropsubscription Procedimientos de seguridad sp_addalias sp_droprole sp_addapprole sp_droprolemember sp_addgroup sp_dropserver sp_addlinkedsrvlogin sp_dropsrvrolemember sp_addlogin sp_dropuser sp_addremotelogin sp_grantdbaccess sp_addrole sp_grantlogin sp_addrolemember sp_helpdbfixedrole sp_addserver sp_helprotect sp_addsrvrolemember sp_helplinkedsrvlogin sp_adduser sp_helplogins sp_approlepassword sp_helpntgroup . sp_change_users_login sp_helpremotelogin sp_changedbowner sp_helprole sp_changegroup sp_helprolemember sp_changeobjectowner sp_helprotect sp_dbfixedrolepermission sp_helpsrvrole sp_defaultdb sp_helpsrvrolemember sp_defaultlanguage sp_helpuser sp_denylogin sp_password sp_dropalias sp_remoteoption sp_dropapprole sp_revokedbaccess sp_dropgroup sp_revokelogin sp_droplinkedsrvlogin sp_setapprole sp_droplogin sp_srvrolepermission sp_dropremotelogin sp_validatelogins Procedimientos del sistema sp_add_data_file_recover_suspect_db sp_helpconstraint sp_add_log_file_recover_suspect_db sp_helpdb sp_addextendedproc sp_helpdevice sp_addmessage sp_helpextendedproc sp_addtype sp_helpfile sp_addumpdevice sp_helpfilegroup sp_altermessage sp_help_fulltext_catalogs sp_autostats sp_help_fulltext_catalogs_cursor sp_attach_db sp_help_fulltext_columns sp_attach_single_file_db sp_help_fulltext_columns_cursor sp_bindefault sp_help_fulltext_tables sp_bindrule sp_help_fulltext_tables_cursor sp_bindsession sp_helpindex sp_certify_removable sp_helplanguage sp_configure sp_helpserver sp_create_removable sp_helpserver sp_createstats sp_helptext sp_cycle_errorlog sp_helptrigger sp_datatype_info sp_indexoption sp_dbcmptlevel sp_lock sp_dboption sp_monitor sp_delete_backuphistory sp_processmail sp_depends sp_procoption sp_detach_db sp_recompile sp_dropdevice sp_refreshview sp_dropextendedproc sp_rename sp_dropmessage sp_renamedb sp_droptype sp_serveroption sp_executesql sp_setnetname sp_getbindtoken sp_spaceused sp_fulltext_catalog sp_tableoption sp_fulltext_column sp_unbindefault sp_fulltext_database sp_unbindrule sp_fulltext_service sp_updatetask . sp_fulltext_table sp_validname sp_help sp_who Procedimientos de consultas distribuidas sp_addlinkedserver sp_indexes sp_addlinkedsrvlogin sp_linkedservers sp_catalogs sp_primarykeys sp_column_privileges_ex sp_serveroption sp_columns_ex sp_table_privileges_ex sp_droplinkedsrvlogin sp_tables_ex sp_foreignkeys Procedimientos del Ayudante de Web sp_dropwebtask sp_makewebtask sp_enumcodepages sp_runwebtask Procedimientos extendidos generales xp_cmdshell xp_revokelogin xp_enumgroups xp_sprintf xp_findnextmsg xp_sqlinventory xp_grantlogin xp_sscanf xp_loginconfig xp_logevent xp_logininfo xp_msver xp_sqlmaint Procedimientos extendidos deSQL Mail xp_deletemail xp_startmail xp_readmail xp_stopmail xp_sendmail xp_findnextmsg Procedimientos extendidos del Analizador de SQL Server xp_sqltrace xp_trace_getuserfilter xp_trace_addnewqueue xp_trace_getwritefilter xp_trace_deletequeuedefinition xp_trace_loadqueuedefinition xp_trace_destroyqueue xp_trace_pausequeue xp_trace_enumqueuedefname xp_trace_restartqueue xp_trace_enumqueuehandles xp_trace_savequeuedefinition xp_trace_eventclassrequired xp_trace_setappfilter xp_trace_flushqueryhistory xp_trace_setconnectionidfilter xp_trace_generate_event xp_trace_setcpufilter xp_trace_getappfilter xp_trace_setdbidfilter xp_trace_getconnectionidfilter xp_trace_setdurationfilter xp_trace_getcpufilter xp_trace_seteventclassrequired xp_trace_getdbidfilter xp_trace_seteventfilter xp_trace_getdurationfilter xp_trace_sethostfilter xp_trace_geteventfilter xp_trace_sethpidfilter xp_trace_geteventnames xp_trace_setindidfilter xp_trace_getevents xp_trace_setntdmfilter xp_trace_gethostfilter xp_trace_setntnmfilter . ODBC y de bibliotecas de bases de datos pueden observar que se utilizan procedimientos almacenados del sistema que no se tratan en la Referencia de Transact. Se han diseñado sólo para uso interno del proveedor de OLE DB para SQL Server. OLE DB. Estos procedimientos almacenados del sistema aceptan la funcionalidad de cursor de ADO. Dynamic-Link Library) de Bibliotecas de bases de datos utilizan estos procedimientos almacenados para implementar la funcionalidad de una API de bases de datos. La funcionalidad completa de estos procedimientos almacenados está disponible para las aplicaciones de SQL Server a través de las funciones de la API que admiten.SQL. Estos procedimientos almacenados simplemente son el mecanismo que el proveedor o los controladores utilizan para comunicar las peticiones del usuario a SQL Server.xp_trace_gethpidfilter xp_trace_setobjidfilter xp_trace_getindidfilter xp_trace_setqueryhistory xp_trace_getntdmfilter xp_trace_setqueueautostart xp_trace_getntnmfilter xp_trace_setqueuecreateinfo xp_trace_getobjidfilter xp_trace_setqueuedestination xp_trace_getqueueautostart xp_trace_setreadfilter xp_trace_getqueuedestination xp_trace_setserverfilter xp_trace_getqueueproperties xp_trace_setseverityfilter xp_trace_getreadfilter xp_trace_setspidfilter xp_trace_getserverfilter xp_trace_setsysobjectsfilter xp_trace_getseverityfilter xp_trace_settextfilter xp_trace_getspidfilter xp_trace_setuserfilter xp_trace_getsysobjectsfilter xp_trace_setwritefilter xp_trace_gettextfilter Procedimientos almacenados extendidos deAutomatización OLE sp_OACreate sp_OAMethod sp_OADestroy sp_OASetProperty sp_OAGetErrorInfo sp_OAStop sp_OAGetProperty Sintaxis de jerarquía de objetos Procedimientos almacenados del sistema de la API Los usuarios que ejecutan el Analizador de SQL Server contra aplicaciones ADO. No es compatible llamarlos explícitamente desde una aplicación de SQL Server. Por ejemplo. para las aplicaciones de ODBC a través de los atributos y funciones de cursor de ODBC y para las aplicaciones de Bibliotecas de bases de datos a través de la Biblioteca de cursores de Bibliotecas de bases de datos. El proveedor de OLE DB para SQL Server de Microsoft. ODBC y de la Biblioteca de cursores de Bibliotecas de bases de datos: sp_cursor sp_cursorclose sp_cursorexecute sp_cursorfetch sp_cursoropen sp_cursoroption sp_cursorprepare sp_cursorunprepare . el controlador de ODBC de SQL Server y la biblioteca de vínculos dinámicos (DLL. el controlador de ODBC de SQL Server y la DLL de Bibliotecas de bases de datos. la funcionalidad de cursor del procedimiento almacenado del sistema sp_cursor está disponible para las aplicaciones de OLE DB a través de las propiedades y métodos de cursor de la API de OLE DB. OLE DB. . SQL Server utiliza el procedimiento almacenado sp_reset_connection para aceptar las llamadas a procedimientos almacenados remotos en una transacción.Estos procedimientos almacenados del sistema aceptan el modelo de preparación y ejecución para ejecutar instrucciones Transact-SQL en ADO. text e image de ODBC. OLE DB y ODBC: sp_execute sp_prepare sp_unprepare Los procedimientos almacenados sp_createorphan y sp_droporphans se utilizan para el procesamiento de ntext. SQL Server utiliza el procedimiento almacenado sp_sdidebug para depurar instrucciones Transact-SQL.
Copyright © 2024 DOKUMEN.SITE Inc.