Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 31-01-2017
edigol21 edigol21 is offline
Registrado
NULL
 
Registrado: nov 2016
Posts: 9
Poder: 0
edigol21 Va por buen camino
Sentencia para generar un script

Necesito saber si hay una manera que por medio de sentencia SQL server se puede generar un script de estructura y datos.
Responder Con Cita
  #2  
Antiguo 31-01-2017
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is online now
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Para qué base de datos?
Responder Con Cita
  #3  
Antiguo 31-01-2017
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Podes usar SQL Management Studio

https://msdn.microsoft.com/en-us/library/hh245282.aspx
https://technet.microsoft.com/en-us/...=sql.105).aspx
Responder Con Cita
  #4  
Antiguo 01-02-2017
edigol21 edigol21 is offline
Registrado
NULL
 
Registrado: nov 2016
Posts: 9
Poder: 0
edigol21 Va por buen camino
Script SQL Server

Mi base de datos es Microsoft SQL SERVER 2014, necesito saver si hay alguna manera que por medio de una sentencia de SQL generar un script de datos y estructura Gracias.
Responder Con Cita
  #5  
Antiguo 01-02-2017
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Leiste los links de arriba? Porque con SQL Management Studio se puede hacer lo que necesitas
Responder Con Cita
  #6  
Antiguo 01-02-2017
Avatar de olbeup
olbeup olbeup is offline
Miembro
 
Registrado: jul 2005
Ubicación: Santiago de la Ribera (España)
Posts: 685
Poder: 19
olbeup Va camino a la fama
Hola edigol21,

Como bien dice AgustinOrtu, uso el "SQL Management Studio" versión "2012" para generar la SQL y después la paso a delphi ya depurada y funcional, el "SQL Management Studio" te puede generar automáticamente la SQL pulsando en el boton derecha encima de la tabla y selecionar la opción "Incluir tabla como" y eliges unas de las opciones que te da si es lo que buscas.

Un saludo.
__________________
Al hacer una consulta SQL, haz que los demás te entiendan y disfruten de ella, será tú reflejo de tú saber.
Responder Con Cita
  #7  
Antiguo 01-02-2017
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.233
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por AgustinOrtu Ver Mensaje
...con SQL Management Studio se puede hacer lo que necesitas
Me ha parecido entender, que quiere hacerlo desde un programa Delphi con sentencias SQL (?¿?¿).

Si es así, que yo sepa Transact-SQL, no tiene estos commandos.
De todas formas, hay otras opciones. Si usas este script que te adjunto, puedes crear un Stored Procedure para generar los INSERTs de una tabla.

Basta con ejecutar un código como este:

Código SQL [-]
EXEC sp_generate_inserts 'postal'

Y obtendrás un resultado como este:

Cita:
INSERT INTO [postal] ([CODIGO],[CODPROVI],[IDPOSTAL],[KM],[PUEBLO])VALUES('08901',' 08',1,0.0000,'Hospitalet de Llobregat')
INSERT INTO [postal] ([CODIGO],[CODPROVI],[IDPOSTAL],[KM],[PUEBLO])VALUES('08901',' 08',2,0.0000,'Barcelona')
Para los CREATE de las tablas, tendrás que buscar algo similar.
Archivos Adjuntos
Tipo de Archivo: zip Generar INSERT de Tablas.SP.zip (5,3 KB, 9 visitas)
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #8  
Antiguo 01-02-2017
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.233
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Vale.
Aquí puedes encontrar este script, que te genera los CREATE para las tablas de la Base de Datos.
Este no lo he probado.

Código SQL [-]
select  'create table [' + so.name + '] (' + o.list + ')' + CASE WHEN tc.Constraint_Name IS NULL THEN '' ELSE 'ALTER TABLE ' + so.Name + ' ADD CONSTRAINT ' + tc.Constraint_Name  + ' PRIMARY KEY ' + ' (' + LEFT(j.List, Len(j.List)-1) + ')' END
from    sysobjects so
cross apply
    (SELECT 
        '  ['+column_name+'] ' + 
        data_type + case data_type
            when 'sql_variant' then ''
            when 'text' then ''
            when 'ntext' then ''
            when 'xml' then ''
            when 'decimal' then '(' + cast(numeric_precision as varchar) + ', ' + cast(numeric_scale as varchar) + ')'
            else coalesce('('+case when character_maximum_length = -1 then 'MAX' else cast(character_maximum_length as varchar) end +')','') end + ' ' +
        case when exists ( 
        select id from syscolumns
        where object_name(id)=so.name
        and name=column_name
        and columnproperty(id,name,'IsIdentity') = 1 
        ) then
        'IDENTITY(' + 
        cast(ident_seed(so.name) as varchar) + ',' + 
        cast(ident_incr(so.name) as varchar) + ')'
        else ''
        end + ' ' +
         (case when IS_NULLABLE = 'No' then 'NOT ' else '' end ) + 'NULL ' + 
          case when information_schema.columns.COLUMN_DEFAULT IS NOT NULL THEN 'DEFAULT '+ information_schema.columns.COLUMN_DEFAULT ELSE '' END + ', ' 

     from information_schema.columns where table_name = so.name
     order by ordinal_position
    FOR XML PATH('')) o (list)
left join
    information_schema.table_constraints tc
on  tc.Table_name       = so.Name
AND tc.Constraint_Type  = 'PRIMARY KEY'
cross apply
    (select '[' + Column_Name + '], '
     FROM   information_schema.key_column_usage kcu
     WHERE  kcu.Constraint_Name = tc.Constraint_Name
     ORDER BY
        ORDINAL_POSITION
     FOR XML PATH('')) j (list)
where   xtype = 'U'
AND name    NOT IN ('dtproperties')

En ese mismo hilo tienes más opcines, pero esta parece que genera cosas correctas.

Cita:
create table [Customer] ( [Id] int IDENTITY(1,1) NOT NULL , [FirstName] nvarchar(40) NOT NULL , [LastName] nvarchar(40) NOT NULL , [City] nvarchar(40) NULL , [Country] nvarchar(40) NULL , [Phone] nvarchar(20) NULL , )ALTER TABLE Customer ADD CONSTRAINT PK_CUSTOMER PRIMARY KEY ([Id])
create table [Order] ( [Id] int IDENTITY(1,1) NOT NULL , [OrderDate] datetime NOT NULL DEFAULT (getdate()), [OrderNumber] nvarchar(10) NULL , [CustomerId] int NOT NULL , [TotalAmount] decimal(12, 2) NULL DEFAULT ((0)), )ALTER TABLE Order ADD CONSTRAINT PK_ORDER PRIMARY KEY ([Id])
create table [OrderItem] ( [Id] int IDENTITY(1,1) NOT NULL , [OrderId] int NOT NULL , [ProductId] int NOT NULL , [UnitPrice] decimal(12, 2) NOT NULL DEFAULT ((0)), [Quantity] int NOT NULL DEFAULT ((1)), )ALTER TABLE OrderItem ADD CONSTRAINT PK_ORDERITEM PRIMARY KEY ([Id])
create table [Product] ( [Id] int IDENTITY(1,1) NOT NULL , [ProductName] nvarchar(50) NOT NULL , [SupplierId] int NOT NULL , [UnitPrice] decimal(12, 2) NULL DEFAULT ((0)), [Package] nvarchar(30) NULL , [IsDiscontinued] bit NOT NULL DEFAULT ((0)), )ALTER TABLE Product ADD CONSTRAINT PK_PRODUCT PRIMARY KEY ([Id])
create table [Supplier] ( [Id] int IDENTITY(1,1) NOT NULL , [CompanyName] nvarchar(40) NOT NULL , [ContactName] nvarchar(50) NULL , [ContactTitle] nvarchar(40) NULL , [City] nvarchar(40) NULL , [Country] nvarchar(40) NULL , [Phone] nvarchar(30) NULL , [Fax] nvarchar(30) NULL , )ALTER TABLE Supplier ADD CONSTRAINT PK_SUPPLIER PRIMARY KEY ([Id])
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #9  
Antiguo 01-02-2017
bitbow bitbow is offline
Miembro
 
Registrado: jul 2006
Posts: 366
Poder: 18
bitbow Va camino a la fama
Aunque no me queda claro exactamente que quieres realizar, te comento.

Desde el SQL Server puedes auto generar scripts y ejecutarlos dentro de un procedimiento:

DECLARE
@sql nvarchar(1000)SET @sql='CREATE TABLE TEMPORAL
( ID int IDENTITY, DATO varchar(100))'
EXEC (@sql)

SET @sql = 'SELECT * FROM TEMPORAL'
EXEC (@sql)
Este tipo de sentencias las puedes meter dentro de un procedimiento almacenado con la logica de lo que quieres realizar (crear tablas en base a un resultado de un query, insertar registro, actualizar).

Saludos.
__________________
¡Ni como ayudarte Niño!!
bitbow
Responder Con Cita
  #10  
Antiguo 02-02-2017
edigol21 edigol21 is offline
Registrado
NULL
 
Registrado: nov 2016
Posts: 9
Poder: 0
edigol21 Va por buen camino
Sql Server 2012

buenas tarde.
lo que me sucede es que solo tengo instalado el Motor de SQL Server 2012 y lo que necesito es generar un script completo de una base de datos con estructura y datos desde el delphi con una sentencia ejecutándolo en un TFDQuery
Responder Con Cita
  #11  
Antiguo 02-02-2017
bitbow bitbow is offline
Miembro
 
Registrado: jul 2006
Posts: 366
Poder: 18
bitbow Va camino a la fama
Revisa si el SQL server tiene opcion de linea de comandos (lo desconozco), si es asi desde delphi puedes hacer un shellexecute para ejecutarlo y generar un bak (si es que te sirve asi), de lo contrario se me ocurre algun cliente como navicat o dbeaver para generar el script completo de base de datos.

Saludos.
__________________
¡Ni como ayudarte Niño!!
bitbow
Responder Con Cita
  #12  
Antiguo 02-02-2017
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Fijate si este programa te sirve

Open DBDiff
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
librearia para generar exportacion de datos a un script sql pvizcay Firebird e Interbase 6 14-06-2007 02:31:43
Quiero Generar un Script Migpal MS SQL Server 3 02-12-2005 18:16:27
Mas dudas para generar un Script MySQL bustio SQL 1 10-02-2005 04:44:32
Generar Script MySQL bustio MySQL 12 09-02-2005 15:56:13


La franja horaria es GMT +2. Ahora son las 11:14:12.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi