You are on page 1of 7
ee WD eal es 3 2008 Ey ae 4 Alfaomega oe MA CAPITULO 7. TRANSACT-SQL. LENGUAJE DE CONSULTA DE DATOS _325 Ki Microsoft SQL Server Management 5 eaeica ‘archivo Ester Yer Ceneuta Proyecto Harramientas Ventana comunidad Avuds: Binveve.coneuke, 24D DSS Oh. el |B. OM Bs ag $2 Gy estuoranres = i, Bacto of it. 33,H aig HX CESAR HVASSEE OLQueryLegl | Renner 2 a epescr BU] estUCT OE paTOS = Muy UTIL ARQUIT. COMPUTADORES Maa. VON NEUMANN CESARHYASSCEZF (S0CTPIG) — CESAR-HYASICEZF Cesar (55) En la consulta siguiente se obtiene toda la informacién disponible sobre jquier curso que no tenga una tarifa coincidente con algin némero del conjunto 12,12, 50, 75, 90, 100, 500}. Serra yew Eker Yer Conauka Grovecto Herraniantes Ventona Gomindad ayuda here corm | | yh Ey OF eh eB Bis ag Bz tak ESTUDIANTES: fF Biecutan se z CESAR-HVASSCE..QLQueryisal* Resumen ED Resttados | 2) Meneetee co CNOMeRE coESCe i [ert] wrroo. a Las cc. PARANOVATOS 3 Xd MATEMATICAS DISCRETAS ARSOLUTAMENTE NECESARIO. 3 aa SoLIPstsMa) Para mi misMo . TH EStDLASTICSMO PARA BEATOS a 2 . 144 COMUNISMO PARA AVAROS CESARHYASSCEZF(OCTPIE) —CESAR-HYASSCEZF\Cosa (55) ESTUDIANTI| 5 6 7 193 HEOONISMO PARA SANOS 2 Si queremos conocer los vendedores que trabajan en las oficinas de entacin 11, 13 y 22, podremos utilizar la consulta que se presenta a inuacién. 326 SQL SERVER 2008 RAMA ee SELECT FROM REPVENTAS WAERE oficina_rep 1/11, 13, 22 Sl Restor 2) Were MUMEMPL NOMBRE / EDAD ORCINAREP TITULO CONTRATO DIRECTOR CUOTA 16 jetsdme 713 FepVentar 19684212 000000000 104 38000000 is Sntak 521 evel t9szopr¢tomone MUL —Z7sINAN tot Woneyirgsh 48 22 FepVen 13881114 0090e0000 senrooso 1 Mayenes 31 pens 135810712000000000 zeman "ciate oeat om._ESARHASREZ OCT La consulta siguiente devuelve ntimero, fecha e importe de todos los pedidos que no se hayan remitido en un jueves de enero de 1990. Ee Microsoft SQ. Server Management Studio ‘cine Eat Yor Consdta Provedto Ueramertas Vectana Comunidad Ande SLmevaconane 0s | fDi [ee 5 he Bb Be Bo Hh, omienvos: P Beoter of 33M a AS" OEE RX) cesancsvassce atuery SB —=ruEcT num pedido, fecha _peaido, imorce pedide NOT 1 ('04/01/90", 113/01/90', 1186/01/90", '25/01/ Feche_pesido ‘990030 0600000000, 39981217 onon00 000 1965-1217 00.0000.000, +19881072.000000.000 3991072 000000000 3981012000000000 119381227 000000000 19991231 000000000 188001-03 ono0.00. 000 CESARHVASICEZE OCTPIE) _CESARHYASOCEZACem (55) EMPLEADOS —OPOGO 20 ie ins 498_SQL SERVER 2008 RAMA 11.3 ELIMINAR DATOS. LAS SENTENCIAS DELETE Y TRUNCATE En el caso de la eliminacion de filas de datos en tablas ya existentes, sentencia basica es DELETE. 7 11.3.1 Eliminar filas con DELETE La sentencia DELETE quita una o varias filas de una tabla o vista. Un forma simplificada de la sintaxis de DELETE es: DELETE FROM tabla_o vista WHERE condicién El argumento fabla_o_vista nombra la tabla 0 vista de la que se van eliminar las filas. Se eliminan todas las filas de tabla o vista que retinan requisitos de la condicién de bisqueda de la ckiusula WHERE. Si no se especifi una ckiusula WHERE, se eliminaran todas las filas de tabla_o_vista. 7 La sentencia siguiente borra todas las filas de la tabla EMP4. Cualquier tabla de la que se hayan quitado todas las filas sigue permaneci en la base de datos. La instruccién DELETE solo elimina filas de la tabla y ésta se quitar de la base de datos mediante la instruecién DROP TABLE. La siguiente consulta borra todos los vendedores de la tabla EMP ¢ comisi6n inferior a 100 en el ultimo mes. Es Microsoft SOL Server Manauement Studio (rchwo Estar ver coneuta, Proyecto Hecrmneae Verna Comin Ayuda Sahinconade 5 4 528s Os. te BD “CESAR HYASIEGLGueryieql™ | Resaren © RAMA CAPITULO 11. TRANSACT-SQL. LENGUAJE DE MANIPULACION DE DATOS..._499 La subconsulta SELECT en la instruccién DELETE se puede utilizar para eliminar valores de mas de una fila al mismo tiempo. A veces, Ja seleccién de las filas a borrar debe efectuarse en base a datos contenidos en otras tablas que se citaran dentro de la subconsulta SELECT. ‘A continuacién se borra a Henry Jacobsen de la tabla REPVENTAS de la base de datos EMPLEADOS. ‘Be Microsoft 5Q) Server Manapement Studio dive Eater Yor Gonaua froyeco tranients ventana Conunad enya conan yD Ea, eh. BS BB Sw 22g emenccs ial Cesar WvASOCE_giQuery THERE nombres" Henry Jacobsen [Ea Menoaes ‘Rc Microsoft SQL Server Managament Studio Maciek yor Gensike Brovecto Herranentas Yegana Conunied Ande BLmeveconauta Os By Oa ed BB 2 ARR prUeOA = RET Mensaies & aaa) is | @ Ceuanwinsicess DOCTPIO)CESARINASICEARCen 65) PRUEBA week heres Tena ee Las subconsultas en la clausula WHERE de la sentencia DELETE pueden anidarse al igual que sucedia en la cldusula WHERE de la sentencia SELECT. También pueden contener referencias extemas a la tabla destino de la sentencia DELETE con la finalidad de implementar la composicion entre las tablas de la subconsulta y la tabla destino de la sentencia DELETE. La mica restriceién al uso de subconsultas en una sentencia DELETE es que la tabla destino no puede aparecer en la clausula FROM de la subconsulta ni en ninguna de sus subconsultas a ningiin nivel de anidacién. 500_SQL SERVER 2008 RAMA Pueden existir restricciones de integridad que impidan la eliminacién de filas de una tabla tal y como se observa en el ejemplo siguiente: Bc Microsoft SQL Server Management Studio HERE clie~num_clie WWD fecha_pedido-' 10-01-1995") Bi sentidere ti Srareciae an Te ave de davon somurmar, [ ...n] ) nombré_vista funcién_conjunto_filas {FROM { < tabla origen >} [,...2] ] ( WHERE < condicién bisqueda > { [ CURRENT OF { { [{ GLOBAL ] nombre_cursor } | nombre_variable cursor i } { OPTION ( < sugerencia_consulta > [,...2]) } FROM es una palabra clave opcional que se puede utilizar entre la palabra clave DELETE y el destino nombre_tabla, nombre vista 0 funcién_conjunto_filas, El argumento nombre_tabla es el nombre de la tabla de la que se van a quitar las filas. WITH. ( [...n)) especifica una o mas sugerencias de tabla permitidas para una tabla de destino. La palabra clave WITH y los paréntesis son obligatorios, No se pemmiten READPAST, NOLOCK ni READUNCOMMITTED. El argumento nombre_visia es e © RA-MA. CAPITULO 11, TRANSACT-SQL, LENGUAJE DE MANIPULACION DE DATOS... 501 nombre de una vista que debe poder actualizarse y debe hacer referencia exacta a una tabla base en la clausula FROM de la vista. Si la tabla o vista existe en otra base de datos o tiene un propietario distinto al usuario actual, utilice un nombre calificado con cuatro partes con el formato nombre_servidor. base_datos. [propietario].nombre_objeto. El argumento funcién_conjunto_filas es una funcisn OPENQUERY u OPENROWSET, segun las capacidades del proveedor. FROM especifica una cléusula FROM adicional que permite especificar datos de < tabla_origen > y eliminar las filas correspondientes de la tabla en la primera cldusula FROM. Se puede utilizar esta extensién, que especifica una combinacién, en lugar de una subconsulta en la cléusula WHERE para identificar las filas que se van a quitar. WHERE especifica las condiciones utilizadas para limitar el ntimero de filas que se van a climinar. Si no se proporciona una cldusula WHERE, DELETE quitara todas las filas de la tabla. Hay dos formas de operaciones de eliminacién, que se basan en las condiciones que se especifiquen en la cléusula WHERE. Las eliminaciones por busqueda especifican una condicién de biisqueda que califica las filas que se van a eliminar y las eliminaciones por posicién utilizan la cliusula CURRENT OF para especificar un cursor. La operacién de eliminacién se produce en la posicién actual del cursor. Este método puede ser mas preciso que una eliminacién DELETE por busqueda que utilice una cléusula WHERE condicién_uisqueda para calificar las filas que se van a eliminar. Una eliminacién DELETE por basqueda elimina varias filas si la condicién de busqueda no identifica exclusivamente una tinica fila. El argumento condicién_btisqueda especifica las condiciones restrictivas de las filas que se van a eliminar. No hay limite en el nfimero de predicados que se pueden incluir en una condicién de busqueda. Para obtener mas informacién, consulte Condicién de biisqueda. CURRENT OF especifica que la instruccién DELETE se ejecutaré en la posicién actual del cursor especificado. GLOBAL especifica qué nombre_cursor hace referencia a un cursor global. El argumento nombre_cursor es el nombre del cursor abierto desde el que se realiza la recuperacién. Si hay un cursor global y otro local con el nombre nombre_cursor, este argumento hace referencia al cursor global si se especifica GLOBAL; de lo contrario, nombre_cursor hace referencia al cursor local. El cursor debe permitir actualizaciones. El argumento nombre_variable_cursor es el nombre de una variable de cursor. La variable de cursor debe hacer referencia a un cursor que permita realizar actualizaciones.

You might also like