关于多公司用数据库问题

duckson 2003-11-28 02:38:31
在SQL2000中,我想使用依公司建立不同数据库,如何用code实现?
公用数据库
公司表:
ID char(3) 公司名 char(60) CorpName char(60) 简称 char(10)
001 咖啡有限公司 coffee co.,ltd 咖啡

建立数据库
咖啡_enterprise
建立表:人事表

...全文
69 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
duckson 2003-11-28
  • 打赏
  • 举报
回复
zjcxc(邹建) 兄言之也有理,可惜我刚结完贴才看到,没法给分了:(
zjcxc 元老 2003-11-28
  • 打赏
  • 举报
回复
--如果是存储过程中创建
create proc p
as
declare @sql varchar(8000)
--创建数据库
exec('create database 公用数据库')
set @sql='isql /E /d"公用数据库" /Q"create table 公司表(id char(3),公司名 char(60),CorpName char(60),简称 char(10))"'
exec master..xp_cmdshell @sql,no_output
insert into 公司表 values('001','咖啡有限公司','coffee co.,ltd','咖啡')

exec('create database enterprise')
set @sql='isql /E /d"enterprise" /Q"create table 人事表(id char(3))"'
exec master..xp_cmdshell @sql,no_output
go
zjcxc 元老 2003-11-28
  • 打赏
  • 举报
回复
楼主没有要求在存储过程中执行吧?


--查询分析器中执行
--创建数据库
create database 公用数据库
go
use 公用数据库
go
create table 公司表(id char(3),公司名 char(60),CorpName char(60),简称 char(10))
insert into 公司表 values('001','咖啡有限公司','coffee co.,ltd','咖啡')
go
create database enterprise
go
use enterprise
go
create table 人事表(id char(3))
txlicenhe 2003-11-28
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/topic/2364/2364046.xml?temp=.829693
[交流]动态SQL语句
shuiniu 2003-11-28
  • 打赏
  • 举报
回复
declare @sql varchar(1000)
declare @databasename sysname
declare test cursor for
select 简称 from 公司表
open test
fetch next from test into @databasename
while @@fetch_status = 0
begin
exec('create database '+ @databasename)
fetch next from test into @databasename
end
close test
deallocate test
-----------------
??????
txlicenhe 2003-11-28
  • 打赏
  • 举报
回复
declare @databasename varchar(60)
select @databasename = 公司名 from 公司表 where 简称 = '咖啡'
exec('create database '+@databasename)

34,875

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧