Tutuorial De Sql Server

Páginas: 6 (1296 palabras) Publicado: 31 de mayo de 2012
From: Marco Aurelio Sotelo Figueroa
Reply-To: masotelof@yahoo.com.mx

To: Alvaro Herrera ,Ayuda Postgres

Subject: Re: [pgsql-es-ayuda] Ayuda con Check (listo)
Date: Wed, 27 Apr 2005 23:20:35 +0200

Alvaro Herrera escribió:


On Wed, Apr 27, 2005 at 10:41:01PM +0200, Marco Aurelio Sotelo Figueroa wrote:




    constraint chk_cliente_rfc check (rfc like'[A-Z][A-Z][A-Z][A-Z][0-9][0-9][0-9][0-9][0-9][0-9][A-Z][A-Z][0-9]' or
rfc like
'[A-Z][A-Z][A-Z][0-9][0-9][0-9][0-9][0-9][0-9][A-Z][A-Z][0-9]'),
    constraint chk_cliente_curp check (curp like
'[A-Z][A-Z][A-Z][A-Z][0-9][0-9][0-9][0-9][0-9][0-9][H,M][A-Z][A-Z][A-Z][A-Z][A-Z][0-9][0-9]'),

    constraint fk_cliente_ciudad foreign key (ciudad) references ciudad(id_ciudad));



Cuales son los cuantificadores {M,N}, lo que pasa es que esas funciones es de una base de datos que se me proporciono en SQL server y estoy transformando a Postgres, el problema es que alla si funciona, por otra parte [H,M] es solo por la eleccion de H o M (esto es para el CURP).



Creo que la expresion para rfc deberia ser

(rfc like [A-Z]{3,4}[0-9]{6}[A-Z]{2}[0-9])

y lo decurp

(curp like [A-Z]{4}[0-9]{6}[HM][A-Z]{4}[0-9]{2})

Supongo que con eso se aclara la pregunta de los cuantificadores.

Con respecto a [H,M], debes saber que las clases de caracteres no se
separan por comas; todos los caracteres entre los [] son considerados
como coincidencias del patron. Por lo tanto, no debes poner , entre los
[] si no quieres que haya , en el campo.

Una cosaque me acabo de dar cuenta es que estas comparando estas
expresiones con LIKE ... _obviamente_ esto no va a funcionar!! Tienes
que usar el operador de expresiones regulares, que seria ~ (o si quieres
que las expresiones no sean sensibles a minusculas, ~*)

No se por que no me sorprende que viniendo de SQL Server aparezcan unas
expresiones que violan completamente el estandar SQL (las clasesde
caracteres no estan soportadas en LIKE, solo en SIMILAR TO).

Lo otro que no me sorprende es que no me haya dado cuenta antes de que
no eran expresiones regulares POSIX: dado que tu mensaje viene en HTML
se hace algo dificil de leer ...

Suerte,




Listo, es verdad, muchas gracias, solo me falta añadir, por si alguno se sirve la funcion quedaria:

(rfc ~'[A-Z]{3,4}[0-9]{6}[A-Z]{2}[0-9]')



--

*The Skull Leader*


* La Capacidad, Responsabilidad, Etica y Profesionalismo no son comparables ni tienen relacion con la vestimenta y apariencia del ser humano, TODOS SOMO IGUALES. *

>

---------------------------(fin del mensaje)---------------------------
TIP 1: para suscribirte y desuscribirte, escribe a majordomo@postgresql.org





RANGO DE VALORES ENCADA COLUMNA

Ventas123=> ALTER TABLE prueba5 ADD CONSTRAINT nombre CHECK((nombre ~ '[A-Z]{3,4}[0-9]{6}[A-Z]{2}[0-9]'));

RANGO MAYUSCULAS

ALTER TABLE nombres ADD CONSTRAINT nick CHECK(nick ~ '[A-Z]');

[pic][pic][pic][pic][pic][pic][pic][pic][pic][pic][pic][pic][pic][pic][pic][pic][pic][pic]ALUMNO



[pic]



[pic]

[pic]

[pic]

[pic]

[pic]

[pic]



PROFESOR[pic]

[pic]

[pic]

[pic]

[pic]

[pic]



MATERIAS



[pic]

[pic]

[pic]

[pic]

[pic]

ALTER TABLE changes the definition of an existing table. There are several subforms:

cambia la definición de una tabla existente. Hay varias subformas:

ADD COLUMN

This form adds a new column to the table using the same syntax as CREATE TABLE.

Esta forma añade una nuevacolumna a la tabla usando la misma sintaxis que CREATE TABLE

DROP COLUMN



This form drops a column from a table. Indexes and table constraints involving the column will be automatically dropped as well. You will need to say CASCADE if anything outside the table depends on the column, for example, foreign key references or views.

SET/DROP DEFAULT



These forms set or remove the...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Sql server
  • Sql server
  • sql server
  • Sql Server
  • Sql server
  • SQL Server
  • SQL SERVER
  • SQL Server

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS