❶ 如何使用powerdesigner建數據表並生成腳本
使用powerdesigner建數據表並生成腳本方法:
1、打開powerdesinger.如下圖所示。
❷ 如何使用powerdesigner建數據表並生成腳本
使用powerdesigner建數據表並生成腳本方法:
1、打開powerdesinger.
2、在這里新建物理模型。
3、在這里點擊確定就可以了。
4、接來在新建完的那個圖標上新建一個如下圖所示的table就可以了。
5、現在就可以在這里編寫table表了。
6、最後生成的效果就在這里了。
❸ 如何使用powerdesigner建數據表並生成腳本
打開PD軟體:
1.新建概念模型(conceptual Data Model)
File-->New Model-->Conceptual Data Mode
或者點擊工作區,右鍵-->New Model-->Conceptual Data Mode
2.打開模型時,會有方格線,去除方格線
Tools-->Dis
3.創建表並建立關系:
各個含義如下:
但是我在創建的過程中,報錯如下:
在創建的過程中,人員表裡有主鍵Code,性別表裡也有主鍵Code,但是在創建的過程是報錯,說是Code已經被佔用了,
去除屬性名重復的方法如下:
使用PD中,CDM默認實體屬性不能重名,在CDM中唯一。可以通過設置,取消該限制。
選擇 Tools->Model Options,取消 Data Item 組的Unique code 和 Allow reuse復選框。
Unique:設置實體屬性是否唯一
Allow reuse:設置實體屬性是否允許重用
註:默認使用唯一代碼的好處是,改變屬性,其他引用該屬性的實體,都一起修改。該功能可以通過domain實現,設置屬性在同一domain中,當需要修改欄位類型的時候,修改domain一處即可。
c、在selection中選擇你需要生成sql的模塊,指定輸出目錄。
7.PD圖轉換為腳本至此結束。
❹ 如何為SQL Server表數據生成insert腳本 (1)
那麼,能否將表中的數據也生成為SQL腳本,在查詢分析器中執行這些腳本後自動將數據導入到SQL Server中呢?答案是肯定的,示例如下: CREATE PROCEDURE dbo.OutputData @tablename sysname AS declare @column varchar(1000) declare @columndata varchar(1000) declare @sql varchar(4000) declare @xtype tinyint declare @name sysname declare @objectId int declare @objectname sysname declare @ident int set nocount on set @objectId=object_id(@tablename) if @objectId is null -- 判斷對象是否存在 begin print @tablename + '對象不存在' return end set @objectname=rtrim(object_name(@objectId)) if @objectname is null or charindex(@objectname,@tablename)=0 begin print @tablename + '對象不在當前資料庫中' return end if OBJECTPROPERTY(@objectId,'IsTable') < > 1 -- 判斷對象是否是表 begin print @tablename + '對象不是表' return end select @ident=status&0x80 from syscolumns where id=@objectid and status&0x80=0x80 if @ident is not null print 'SET IDENTITY_INSERT '+ @TableName + ' ON' --定義游標,循環取數據並生成Insert語句 declare syscolumns_cursor cursor for select c.name,c.xtype from syscolumns c where c.id=@objectid order by c.colid --打開游標 open syscolumns_cursor set @column='' set @columndata='' fetch next from syscolumns_cursor into @name,@xtype while @@fetch_status <> -1 begin if @@fetch_status <> -2 begin if @xtype not in(189,34,35,99,98) --timestamp不需處理,image,text,ntext,sql_variant 暫時不處理 begin set @column=@column + case when len(@column)=0 then '' else ',' end + @name set @columndata = @columndata + case when len(@columndata)=0 then '' else ','','',' end + case when @xtype in(167,175) then '''''''''+'+@name+'+''''''''' --varchar,char when @xtype in(231,239) then '''N''''''+'+@name+'+''''''''' --nvarchar,nchar when @xtype=61 then '''''''''+convert(char(23),'+@name+',121)+''''''''' --datetime when @xtype=58 then '''''''''+convert(char(16),'+@name+',120)+''''''''' --smalldatetime when @xtype=36 then '''''''''+convert(char(36),'+@name+')+''''''''' --uniqueidentifier else @name end end end fetch next from syscolumns_cursor into @name,@xtype end close syscolumns_cursor deallocate syscolumns_cursor set @sql='set nocount on select ''insert '+@tablename+'('+@column+') values(''as ''--'','+@columndata+','')'' from '+@tablename print '--'+@sql exec(@sql) if @ident is not null print 'SET IDENTITY_INSERT '+@TableName+' OFF' 調用時 exec OutputData 'myuser' 其中myUser中當前資料庫中存在的表。 另外方丈的: drop proc proc_insert go create proc proc_insert (@tablename varchar(256)) as begin set nocount on declare @sqlstr varchar(4000) declare @sqlstr1 varchar(4000) declare @sqlstr2 varchar(4000) select @sqlstr='select ''insert '+@tablename select @sqlstr1='' select @sqlstr2=' (' select @sqlstr1= ' values ( ''+' select @sqlstr1=@sqlstr1+col+'+'',''+' ,@sqlstr2=@sqlstr2+name +',' from (select case -- when a.xtype =173 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar('+convert(varchar(4),a.length*2+2)+'),'+a.name +')'+' end' when a.xtype =104 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(1),'+a.name +')'+' end' when a.xtype =175 then 'case when '+a.name+' is null then ''NULL'' else '+'''''''''+'+'replace('+a.name+','''''''','''''''''''')' + '+'''''''''+' end' when a.xtype =61 then 'case when '+a.name+' is null then ''NULL'' else '+'''''''''+'+'convert(varchar(23),'+a.name +',121)'+ '+'''''''''+' end' when a.xtype =106 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar('+convert(varchar(4),a.xprec+2)+'),'+a.name +')'+' end' when a.xtype =62 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(23),'+a.name +',2)'+' end' when a.xtype =56 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(11),'+a.name +')'+' end' when a.xtype =60 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(22),'+a.name +')'+' end' when a.xtype =239 then 'case when '+a.name+' is null then ''NULL'' else '+'''''''''+'+'replace('+a.name+','''''''','''''''''''')' + '+'''''''''+' end' when a.xtype =108 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar('+convert(varchar(4),a.xprec+2)+'),'+a.name +')'+' end' when a.xtype =231 then 'case when '+a.name+' is null then ''NULL'' else '+'''''''''+'+'replace('+a.name+','''''''','''''''''''')' + '+'''''''''+' end' when a.xtype =59 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(23),'+a.name +',2)'+' end' when a.xtype =58 then 'case when '+a.name+' is null then ''NULL'' else '+'''''''''+'+'convert(varchar(23),'+a.name +',121)'+ '+'''''''''+' end' when a.xtype =52 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(12),'+a.name +')'+' end' when a.xtype =122 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(22),'+a.name +')'+' end' when a.xtype =48 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(6),'+a.name +')'+' end' -- when a.xtype =165 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar('+convert(varchar(4),a.length*2+2)+'),'+a.name +')'+' end' when a.xtype =167 then 'case when '+a.name+' is null then ''NULL'' else '+'''''''''+'+'replace('+a.name+','''''''','''''''''''')' + '+'''''''''+' end' else '''NULL''' end as col,a.colid,a.name from syscolumns a where a.id = object_id(@tablename) and a.xtype <>189 and a.xtype <>34 and a.xtype <>35 and a.xtype <>36 )t order by colid select @sqlstr=@sqlstr+left(@sqlstr2,len(@sqlstr2)-1)+') '+left(@sqlstr1,len(@sqlstr1)-3)+')'' from '+@tablename -- print @sqlstr exec( @sqlstr) set nocount off end go drop proc proc_insert go create proc proc_insert (@tablename varchar(256)) as begin set nocount on declare @sqlstr varchar(4000) declare @sqlstr1 varchar(4000) declare @sqlstr2 varchar(4000) select @sqlstr=select insert +@tablename select @sqlstr1= select @sqlstr2= ( select @sqlstr1= values ( + select @sqlstr1=@sqlstr1+col++,+ ,@sqlstr2=@sqlstr2+name +, from (select case -- when a.xtype =173 then case when +a.name+ is null then null else +convert(varchar(+convert(varchar(4),a.length*2+2)+),+a.name +)+ end when a.xtype =104 then case when +a.name+ is null then null else +convert(varchar(1),+a.name +)+ end when a.xtype =175 then case when +a.name+ is null then null else +++replace(+a.name+,,) + ++ end when a.xtype =61 then case when +a.name+ is null then null else +++convert(varchar(23),+a.name +,121)+ ++ end when a.xtype =106 then case when +a.name+ is null then null else +convert(varchar(+convert(varchar(4),a.xprec+2)+),+a.name +)+ end when a.xtype =62 then case when +a.name+ is null then null else +convert(varchar(23),+a.name +,2)+ end when a.xtype =56 then case when +a.name+ is null then null else +convert(varchar(11),+a.name +)+ end when a.xtype =60 then case when +a.name+ is null then null else +convert(varchar(22),+a.name +)+ end when a.xtype =239 then case when +a.name+ is null then null else +++replace(+a.name+,,) + ++ end when a.xtype =108 then case when +a.name+ is null then null else +convert(varchar(+convert(varchar(4),a.xprec+2)+),+a.name +)+ end when a.xtype =231 then case when +a.name+ is null then null else +++replace(+a.name+,,) + ++ end when a.xtype =59 then case when +a.name+ is null then null else +convert(varchar(23),+a.name +,2)+ end when a.xtype =58 then case when +a.name+ is null then null else +++convert(varchar(23),+a.name +,121)+ ++ end when a.xtype =52 then case when +a.name+ is null then null else +convert(varchar(12),+a.name +)+ end when a.xtype =122 then case when +a.name+ is null then null else +convert(varchar(22),+a.name +)+ end when a.xtype =48 then case when +a.name+ is null then null else +convert(varchar(6),+a.name +)+ end -- when a.xtype =165 then case when +a.name+ is null then null else +convert(varchar(+convert(varchar(4),a.length*2+2)+),+a.name +)+ end when a.xtype =167 then case when +a.name+ is null then null else +++replace(+a.name+,,) + ++ end else null end as col,a.colid,a.name from syscolumns a where a.id = object_id(@tablename) and a.xtype <>189 and a.xtype <>34 and a.xtype <>35 and a.xtype <>36 )t order by colid select @sqlstr=@sqlstr+left(@sqlstr2,len(@sqlstr2)-1)+) +left(@sqlstr1,len(@sqlstr1)-3)+) from +@tablename -- print @sqlstr exec( @sqlstr) set nocount off end go ---------------------------------------------------------------------------------------
❺ MS SQLServer 怎麼將整個表的數據 生成 插入腳本
建議使用SQL Server 2008或其以後版本的SQL Server Management Studio來生成腳本,在生成腳本向導里可以選擇生成表的架構和數據,也就是可以生成INSERT語句。SQL Server 2005的Management Studio是不支持生成INSERT腳本的
❻ 如何使用powerdesigner建數據表並生成腳本
使用powerdesigner建數據表並生成腳本方法:
1、打開powerdesinger
2、在這里新建物理模型
3、在這里點擊確定就可以了
4、接下來在新建完的那個圖標上新建一個如下圖所示的table就可以了。
5、現在就可以在這里編寫table表了。
6、最後生成的效果就在這里了。
(望樓主採納哦)
❼ 如何把SQL Server 表中的數據導出為插入腳本
場景:在資料庫程序開發過程中有的時候需要把表中的數據導出為插入腳本,最簡單的辦法是使用SSMS自帶的生成腳本的功能. 步驟: 1< 右擊 DataBase, 選擇Tasks ---< Generate Scripts 2< 在 Choose Objects 窗口中選中需要到處數據的表 3< 設置導出選項: a: 單個文件或每個Object一個文件 b: 文件名 c: 導出的類型選擇 Data Only 4< 開始導出 ~~~< ~~~
❽ 如何為SQL Server表數據生成insert腳本
以下存儲過程可以實現:
CREATE?PROCEDURE?dbo.UspOutputData?
@tablename?sysname?
AS?
declare?@column?varchar(1000)?
declare?@columndata?varchar(1000)?
declare?@sql?varchar(4000)?
declare?@xtype?tinyint?
declare?@name?sysname?
declare?@objectId?int?
declare?@objectname?sysname?
declare?@ident?int?
set?nocount?on?
set?@objectId=object_id(@tablename)?
if?@objectId?is?null?--?判斷對象是否存在?
begin?
print?'The?object?not?exists'?
return?
end?
set?@objectname=rtrim(object_name(@objectId))?
if?@objectname?is?null?or?charindex(@objectname,@tablename)=0?--此判斷不嚴密?
begin?
print?'
❾ 如何做一個數據插入的腳本
你在知道客戶資料庫表的結構,讓客戶提供給你,沒有這個無法寫腳本,把表結構也貼一下
你的數據文件是怎樣的,你貼出一部分來
可以用sqlldr、external table(兩種驅動方式都可以)或者直接寫insert腳本
最好提供資料庫和操作系統的版本
有了這些才可以幫到你