none
No me acepta un valor default en creación tabla sqlcompact

    Pregunta

  • Hola a todos, buenos días.

    Estoy tratando de crear una columna desde el propio IDE de sqlcompact y tengo el problema de que me da error, cuando quiero asignarle un valor (numeric) a la columna y que por defecto tenga el valor 0.

    Esta es la cláusula que no me acaba de funcionar, dando error en el DEFAULT.

    SET

    ALTER TABLE [Varios] ALTER COLUMN [PorcTot1] numeric(18,2) SET DEFAULT 0 NOT NULL;

    go

    He probado encerrando el 0 entre comillas, con una llave, etc., y siempre me está dando error.

    A ver si me podéis indicar por qué lo tengo mal.

    Un saludo.

    Gemma

    sábado, 1 de octubre de 2016 9:23

Respuestas

  • "gemma_campillo" escribió:

    > Estoy tratando de crear una columna desde el propio IDE de sqlcompact y
    > tengo el problema de que me da error, cuando quiero asignarle un valor
    > (numeric) a la columna y que por defecto tenga el valor 0.
    >

    ¿Qué IDE de SQL Compact estás utilizando?

    > Esta es la cláusula que no me acaba de funcionar, dando error en el DEFAULT SET.
    >
    > ALTER TABLE [Varios] ALTER COLUMN [PorcTot1] numeric(18,2) SET DEFAULT 0 NOT NULL;

    Si estás CREANDO UNA NUEVA COLUMNA en la tabla y quieres que su valor por defecto sea 0, entonces entiendo que deberás de ejecutar la siguiente consulta:

        ALTER TABLE [Varios] ADD [PorcTot1] numeric(18,2) DEFAULT 0 NOT NULL;
        GO;


    Pero si la columna ya está creada y quieres modificarla para que su valor por defecto sea 0, entonces tendrás que ejecutar ésta otra consulta:

        ALTER TABLE [Varios] ALTER COLUMN [PorcTot1] SET DEFAULT 0  -- No escribir ; final
        GO;

    Así que, dependiendo de lo que desees hacer, tendrás que ejecutar una u otra consulta.

    Para más información, te remito a la Referencia de SQL Server Compact:

    ALTER TABLE (SQL Server Compact)


    Enrique Martínez Montejo
    [MS MVP - Visual Studio y Tecnologías de Desarrollo]

    Nota informativa: La información contenida en este mensaje, así como el código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin garantías de ninguna clase, y no otorga derecho alguno. Usted asume cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o sugerido en el presente mensaje.

    Si esta respuesta le ha resultado útil, recuerde marcarla como satisfactoria.

    Si usas Visual Basic .NET y deseas ser productivo y feliz, se inteligente y activa la instrucción
    Option Strict.



    sábado, 1 de octubre de 2016 11:09
    Moderador

Todas las respuestas

  • "gemma_campillo" escribió:

    > Estoy tratando de crear una columna desde el propio IDE de sqlcompact y
    > tengo el problema de que me da error, cuando quiero asignarle un valor
    > (numeric) a la columna y que por defecto tenga el valor 0.
    >

    ¿Qué IDE de SQL Compact estás utilizando?

    > Esta es la cláusula que no me acaba de funcionar, dando error en el DEFAULT SET.
    >
    > ALTER TABLE [Varios] ALTER COLUMN [PorcTot1] numeric(18,2) SET DEFAULT 0 NOT NULL;

    Si estás CREANDO UNA NUEVA COLUMNA en la tabla y quieres que su valor por defecto sea 0, entonces entiendo que deberás de ejecutar la siguiente consulta:

        ALTER TABLE [Varios] ADD [PorcTot1] numeric(18,2) DEFAULT 0 NOT NULL;
        GO;


    Pero si la columna ya está creada y quieres modificarla para que su valor por defecto sea 0, entonces tendrás que ejecutar ésta otra consulta:

        ALTER TABLE [Varios] ALTER COLUMN [PorcTot1] SET DEFAULT 0  -- No escribir ; final
        GO;

    Así que, dependiendo de lo que desees hacer, tendrás que ejecutar una u otra consulta.

    Para más información, te remito a la Referencia de SQL Server Compact:

    ALTER TABLE (SQL Server Compact)


    Enrique Martínez Montejo
    [MS MVP - Visual Studio y Tecnologías de Desarrollo]

    Nota informativa: La información contenida en este mensaje, así como el código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin garantías de ninguna clase, y no otorga derecho alguno. Usted asume cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o sugerido en el presente mensaje.

    Si esta respuesta le ha resultado útil, recuerde marcarla como satisfactoria.

    Si usas Visual Basic .NET y deseas ser productivo y feliz, se inteligente y activa la instrucción
    Option Strict.



    sábado, 1 de octubre de 2016 11:09
    Moderador
  • Hola Enrique:

    Perfecto, me sirven las dos, lo hacía mal porque ponía el valor NULL., eso me sobraba.

    En cuanto al IDE que utilizo es uno de: Sql Server Compact / SqlLite Toolbox, que lo tengo en el menú de "Herramientas" y en principio me va bien, es de ErikEJ.SqlCescripting version 3.5.2.58

    Bueno, con tu explicación ya lo soluciono de todas formas para ir probando había creado las tablas por código con su formato decimal(18,2) DEFALT 0, y me lo había codigo perfectamente.

    Ahora estoy ya convirtiendo las de Access pero por código y como hay ya usuarios que tienen la antigua (como tu), lo que voy a hacer después será una conversión de datos de Access a Sql y a ver si lo hace bien. Copiaré la que tengo ya hecha en el menu de "Migración de Datos" que funcionaba perfectamente.

    Te voy informando.

    Un abrazo y gracias querido amigo.

    Gemma

    sábado, 1 de octubre de 2016 11:32