Descripción: Procedimientos Almacenados y Triggers en SQL Server
Descripción completa
Descripción completa
Descripción completa
Examen de 2ºDAM base de datosDescripción completa
Procedimiento almacenados curso programador .net base de datos sql serverFull description
Procedimiento almacenados curso programador .net base de datos sql serverDescripción completa
Procedimiento para muestro de agregados apilados.
Este Procedimiento es de aplicación a todos los trabajos en caliente que se efectúen tanto por personal propio de la empresa como por empresas externas con las que se haya coordinado la acti…Descripción completa
Descripción completa
Procedimientos almacenados en PhpMyAdmin
MySql desde la version 5.xx soporta la creación de procedimientos almacenados. Una de las ventajas que aporta el desarrollar aplicaciones aplicaciones con procedimientos es que permite un mejor rendimiento de las aplicaciones. Ya que no son tantos los datos que transitan entre el cliente y el servidor. Probablemente quienes quieran hacer sus pruebas, creando sp Store Probablemente Procedures ! Procedimientos "lmacenados# en phpmyadmin se dar$n cuenta que no resulta tan sencillo. Por esto este tip% Por ejemplo% &en'o una tabla que se llama usuarios y creare un procedimiento para que me retorne todos los datos de esa tabla. (sto seria de la si'uiente manera%
al )nali*ar la sentencia (+ se a're'an estos si'nos --, mas abajo en la caja de texto que dice delimitador, se vuelven a in'resar estos si'nos --. &al cual aparece en la ima'en que adjunto.
(dición /!5!0/0 &al & al como lo indica indica uno de los comentarios comentarios anónimos. Para Para obtener una lista de los procedimientos creados creados en una base de datos se usa la si'uiente orden%
Para obtener una lista de todos los procedim procedimientos ientos almacenados en tu instalación de MySql, debes seleccionar la base de datos information_schema y hacer la consulta%
&ambi1n & ambi1n se puede puede obtener el códi'o códi'o de un procedimiento procedimiento
Por de2ecto, PhpMy"dmin PhpMy"dmin muestra el códi'o en una linea. Se debe hacer clic3 sobre el lin3 Opciones y elegir Texto Completo. Para cerrar el circulo. 4o que normalmente va a pasar es que quieras hacer al'una modi)cación al procedimiento. Pero en MySql un "4&( P67(U( no va a 2uncionar para cambiar par$metros ni el códi'o ver lin3 "4&( P67(U( Syntax#. Syntax #. 4o que se debe hacer es eliminar el procedimi procedimiento ento y volver a crearlo.
•
•
"rt8culos de este blo' elacionados sp9helptext en MySql u obtener 7reate 6tros 4in3s "4&( P67(U( Syntax Si te ha sido útil o te ha gustado el artículo, ayúdame compartiéndolo con tus amigos. Haz clic en el botón de la re d social de tu preferencia. Gracias.
Pr ocedi mi ent osal macenadosMYSQL– Cr ea ci ón,Consul t asei nser ci onesde dat os T ut o r i a ls ob r el ac r e ac i ó n,c on su l t asei n ser c i o ne sd ed at o se nb as esded at o sMYSQL .St or e Pr o c ed ur e . Es cr i t oporSe r g i oCu l o cc i o ni e lj u n0 62 01 30 9: 5 9 my sq li n se r t a rd a t o smy s ql c o n s ul t a smy s q ldat osmysql i n s er c i o ne sb bd d
Co mp a r t e !F a c e bo o k
•
0
•
0
Compar t e!T wi t t er
Co mp a r t e !Go o gl e +
•
2
•
I mpr i mi r
Unpr o c ed i mi e nt oal ma c en ad o( St o r ePr o c ed ur e ) ,e sunpe qu eñ oa l g or i t moenl e ng ua j eSQL queseal mac enaj unt oal abas ededat osyper mi t er eal i z art ar e ass obr ees t osdat os . L asVe nt a j a sdel o spr o c ed i mi e nt o sal ma c en ad oss o n: -Sepuedenaccederde sded i s t i n t ospr ogr amasex t e r n os ,s i l anec es i d addeha cerpu bl i c al a es t r uc t ur adel aba seded at o s. -Sepuedenr rl ot a nt ogan ar emo st i e mpoal e s t a ry apr og r a ma doyt e st e ad o. eut i l i z arpo
Utilizar procedimientos mysql almacenados, con phpmyadmin I n i c i ar emo sel t r aba j od ec r earyc on sul t a rp r o cedi mi ent osal mac enado sc onl ahe r r ami en t a p hp my a dmi n ,p er op ue deu t i l i z a r s ec u al q ui e r aq ues o po r t ec o ns u l t a sSQLap ar t i rd eMYSQL 5. 0 Enes t ec as ot o ma r e mo sl aba s ed ed at o sdeun aa ge nc i adea u t o sov e h í c u l o s . 1 )I n gr e s amo sap hp my a dmi nydeal l íal aba s ed ed at o s Ex i s t e n2t i p omo t o r e squ ema ne j a nd a t o senMy s q l
•
•
t orpo rdef ec t o ,muyr á pi d opar ac ons ul t as ,n opr o v eei nt egr i daddedat os , MyI SAM:mo ni pr o t ec ci ónr ef er enc i al .I deal s i s t emasc onmuc hascons ul t as o v eepr o t ec c i ónr ef er enc i al ei n t eg r i daddedat osad emásdebl oqueode I nnoDB:pr r egi s t r os ,i deal s is ev aai ns er t ar ,edi t aroel i mi narmuc hai nf or mac i ónc ons t ant ement e. Ge ner a l men t epa r apr o ce di mi e nt o sal ma ce na do sesme j o ru t i l i z arI n no DB.
Enl ape s t a ñaSQLc r e amo snu es t r opr i me rp r o ce di mi e nt oal ma ce na dopa r ac on s ul t a rl o st i p os dev e hí c ul os .Es c r i bi r osenel c amp odet e xt odes ql .
CREATEPROCEDUREconsul t ar _t i po_vehi cul o( )>nombr edelpr ocedi mi ent o SELECT*FROM t i po_vehi cul o>SQLquedeber esol ver Si ej e c ut amo sl ac o ns ul t aSQLr e c i b i r e mo su nme ns aj ed eé xi t oa lc r e ar s ee lp r o ce di mi e nt o . Pa r av e rl o sp r o c e di mi e nt o sc r e ad osd e s del ape s t a ñaSQLc o ns u l t a mo sl aor d enSHOW PROCEDURESTATUS,quenomost r ar at odosl ospr ocedi mi ent osal macenados. Ah or amo s t r a r e mo sc o moej e c u t a re lp r o c e di mi e nt oal ma c e na doc onel c o ma nd o CALL c adal engua j edepr og r amac i ónt i enes upr opi al i br er í apar aa cc eder nombr e_pr ocedi mi ent o( aunpr o ce di mi e nt oal ma ce na dope r os ont o do ss i mi l a r e s .
Aq uíp od emo sv e re lr e s ul t a dod ee j e c ut a re lp r o c ed i mi e nt oa l ma c en ad oCAL L p a_ t i po _v e hi c ul o ,d ev o l v i óe lr e su l t ad oyna di ev equ ec oma nd oss eha ne j e cu t a do .
Enel s i gui ent eej empl ol i s t ar emosv ehí c ul osper opormar c a,el pr oc edi mi ent oser i a: CREATEPROCEDUREpa_vehi cul os_por _mar ca( mar cavar char ( 50) ) SELECT*FROM vehi cul os,mar cas WHEREvehi cul os. mar ca=mar cas. i d ANDmar cas. mar ca=mar ca Al no mb r ed el p r o c ed i mi e nt ol ea ña di mo su nav a r i a bl ep ar ap ode rb us c are j e mp l ov e hí c ul o s mar caHonda Pa r aej e c ut a re le j e mp l ol l a ma mo sa lp r o c ed i mi e nt oal ma c en ad oe nu nape s t a ñadeSQL CALLpa_vehi cul os_por _mar ca( “Honda”) CALLpa_vehi cul os_por _mar ca( “For d”) T amb i é np od esut i l i z arl o sp r o ce di mi e nt o sa l ma ce na do spa r at a r ea sd ei n se r c i ó ne j e mp l ou n pr oc edi mi ent opar agr a bard at osdeunc l i en t e
CREATEPROCEDUREpa_cl i ent e_i nser t ar ( vnombr eVARCHAR( 64 ) , vapel l i dosVARCHAR( 64) ) ) ; I NSERTI NTO cl i ent e( nombr e,apel l i dos)VALUES( vnombr e,vapel l i dos Par aut i l i z ar l ol ol l amamosdel as i gui ent ef or ma CALLpa_ cl i e nt e _i ns er t a r ( ' J os é' , ' Gonz a l e s' ) ; Ot r opodr í aserCons ul t arc ant i daddepr o vi nc i as CREATEPROCEDURE` pa_pr ovi nci as_cant i dad` ( ) SELECTCOUNT( * )aspr ovi nci asFROM pr ovi nci as Par ael i mi narc ual qui erpr oc edi mi ent os eut i l i z a DROPPROCEDUREn omb r e _p r o c ed i mi e nt o L l a ma da sap r o ce di mi e nt o sd es d ed i s t i nt o sl e ng ua j e s. EnPHP,s u po ni e nd oq uel o sd at o sv i e ne nd eu nf o r mu l a r i o
$ my sql i=ne w my sql i ( " l oc al hos t " ," r oot " ," r oot " ) ; $ my sql i >s el e ct _ db( " a ge nc i a _a ut os " ) ; $ my sql i >que r y ( " CALLpa _c l i e nt e _i ns er t a r ( ' $ nombr e ' ,' $ ape l l i do' ) " ) ; Ah or aej e c ut a mo se lp r o c ed i me i n t oal ma c en ad oe n Java ( s ehar ec or t adoel c ódi go)
c onn=Cone xi onMy SQL. c one ct a r ( " 1 27 , 0 , 0 , 1 " ," r oot " ," * * * * * * * " ," r oot " ) ; Cal l abl eSt at ementPr ocedi mi ent o=conn. pr epar eCal l ( "{CALL
pa_cl i ent e_i nser t ar ( ' $nombr e' ,' $apel l i do' ) )} " ) ; Pr ocedi mi ent o. set St r i ng( "vnombr e",$nombr e) ; Pr ocedi mi ent o. se t St r i ng( " v apel l i do" ,$a pel l i do) ; Pr oc edi mi e nt o. e x ec ut e ( ) ; connM. commi t ( ) ; Dees t af o r mas ed emu es t r aqu es ehaus a d oe lmi s mopr o c e di mi e nt o senen t o r n osy l engua j esdi f er ent es ,def or mat r a ns pa r ent epar ael u suar i o.El t emapr oc edi mi ent oesex t ens o p er oc ua l q ui e r ac onc on oc i mi en t o sdeSQLp od r ái n v es t i g aryc on se gu i rg r a nd esl o gr o sc onl a ut i l i z ac i ó ndep r oc edi mi e nt o sal mac ena dos ,pudi endoas ío pt i mi z ars uspr o y ec t osent i empoy s eg ur i d addeda t o s.
Añadir registros a nuestra base de datos En esta lección vamos ver como podemos añad ir nuevos registros a nuesta BD. La recogida de datos la vamos a hacer a t raves de un interfaz de web. En primer lugar vamos a crear una página web con un simple formulario, con los campos ue deseamos.
Formulario inicial añadir BD
!emos creado un formulario donde recoger los datos, " una vez introducidos e#ecutamos un script llamado add_reg.php3 , pues veamos como es este script.
añadir registros
echo "¡Gracias! Hemos recibido sus datos.\n";
$omo se puede ver, para introducir un nuevo registro, utilizamos la "a conocida función mysql_query(), la c%al tambi&n usamos para las consultas, " usaremos para las actualizaciones, es decir una señora función. '(aah), una cosa mu" importante, para poder añadir o modificar registros debemos tener permiso para ello en el servidor MyS!, por eso en este caso me conecto como root, pero podr*a ser cualuier otro usuario. +ara terminar esta lección, una peueña frivolidad, vamos a combinar la página web de formulario " el fichero de script php3, en un solo fichero ue llamaremos add_reg.php3 este script no lo comentar&, )algo tendran ue hacer ustedes'-.
"ombinacion de formulario y script
Algo muy común en el desarrollo de aplicaciones web es la capacidad de insertar contenidos en un formulario y pasarlos directamente a la base de datos para su posterior uso. Registro de usuarios, inserción de contenidos, noticias, etc. El atributo del formulario que hagamos tiene que apuntar al script que procesará la información y en este caso el método que usamos es !"# $method%&post&'. As( ser(a un posible formulario)