mssql数据库如何通过sql循环创建表

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mssql数据库如何通过sql循环创建表相关的知识,希望对你有一定的参考价值。

mssql server 怎么写存储过程。根据已有字段循环创建表
例如
declare @a varchar(100)
set @a='table1,table2,table3,table4.....table10'
如何通过循环分别创建table1,table2....

参考技术A create procedure procedurename
@a varchar(100),
@fstr char(500)
as
declare @ftable char(7)
declare @ftempstr char(100)
declare @ftempstr1 char(100)
declare @fflag int
declare @fnum int
declare @flen int
set @fnum=0
set @ftable=(select left(@a,charindex(',',@a)-1))
set @ftempstr=(select right(@a,len(@a)-charindex(',',@a)))
set @ftempstr1=(select @ftempstr)
set @fflag=(select charindex(',',@ftempstr))
while @fnum<2
begin
exec('create table '+@ftable+@fstr)
set @flen=(select charindex(',',@ftempstr1)-1)
if @flen>0
begin
set @ftable=(select left(@ftempstr1,@flen))
end
else
begin
set @ftable=(select left(@ftempstr1,0))
end
set @ftempstr=(select right(rtrim(ltrim(@ftempstr1)),len(@ftempstr1)-charindex(',',@ftempstr1)))
set @ftempstr1=(select @ftempstr)
set @fflag=(select charindex(',',@ftempstr))
if @fflag=0
begin
set @fnum=@fnum+1
end
end
if len(rtrim(ltrim(@ftempstr)))>0
begin
set @ftable=(select rtrim(ltrim(@ftempstr1)))
exec('create table '+@ftable+@fstr)
end

exec procedurename 'table1,table2,table3,table4,table5,table6,table7,table8,table9,table10','(a int,
b int,c datetime)'--假设该为已有字段,不是,请自行修改追问

能详细的说一下每个变量的作用吗

追答

@a varchar(100)--就是你要建的表名
@fstr char(500)--表字段等
declare @ftable char(7)--在@a这一堆表名中一个个摘取出来用
declare @ftempstr char(100)--存摘取表名也就建立了表之后待建的表名
declare @ftempstr1 char(100)--存摘取表名也就建立了表之后待建的表名,为了取@ftable而设立的
declare @fflag int--是不是没有逗号了,每一个表名都取到了,除了最后一个
declare @fnum int--对提取最后一个表名做一个标志
declare @flen int--逗号的位置,方便取表名的

本回答被提问者采纳

如何在 MS SQL 上安装 wordpress [关闭]

【中文标题】如何在 MS SQL 上安装 wordpress [关闭]【英文标题】:How to install wordpress on MS SQL [closed] 【发布时间】:2011-01-18 14:04:48 【问题描述】:

我正在尝试将基于 MYSQl 的 wordpress 网站转换为 MS SQL,因为我们通过 MS SQL 拥有主数据库,并且我们正在创建数据库驱动的 wordpress 网站。我已经能够通过数据库脚本通过 MYSQL 自动化我们所有的 wordpress 安装 + 设置,但我们所有的变量 + 输入都在 MS SQL 中。

在 MYSQL 中创建一个新数据库并从 MS SQL 迁移我的所有数据会更容易吗,或者有没有办法让 wordpress 使用 MS SQL。我想知道是否有人能够做到这一点或有任何提示。谢谢

编辑/更新:我通过使用链接服务器完成了这项工作。 Here 是一个网站,如果其他人正在阅读此内容并希望使用 Microsoft SQL Server Management Studio 运行 wordpress 数据库:

【问题讨论】:

projectnami.org 【参考方案1】:

绝对可以运行连接到 MS SQL Server 的 WordPress。我们正在我公司的生产环境中运行这样的实例。这里有两篇文章描述了将 WordPress 与 MS SQL Server 和 IIS 一起使用的过程。我现在在本地机器上使用这样的配置。

http://techsugar.wordpress.com/2011/03/02/how-to-install-wordpress-on-iis-7-5-using-sql-server-2008/

http://wordpress.visitmix.com/development/installing-wordpress-on-sql-server

【讨论】:

虽然这可能适用于某些人,但 wpdb 抽象插件已经有 2 年多的时间不再开发了,所以我强烈建议不要使用它,因为很多查询没有翻译,平均会导致大约 20 个错误.【参考方案2】:

你不能。即使通过 Wordpress 迁移数据仍会使用 MySQL 特定的 API 调用和 MySQL 特定的 SQL 语句,您首先必须重构整个代码库以使其兼容。

【讨论】:

正因为如此,有没有办法让 wordpress 使用 MS SQL? 你只需要为MS SQL更改所有MySQL函数,它应该可以工作...但是查询需要更改,PHP文件,一些函数等。它没有做出用于 MS SQL 是有原因的! ;) @johannes,我们重构了 WP Core 以支持 MSSQL。你可以在这里找到它:github.com/ProjectNami/projectnami 我们其实可以:wordpress.org/plugins/wordpress-database-abstraction projectnami.org【参考方案3】:

没有可行的方法来做到这一点。 MS SQL 支持是 WordPress 的 bug tracking system. 中的一个开放请求

Here 是一个尝试过的人的博客文章。结局并不好。

为了完整起见,在 alpha Stadium(不适合日常使用!)中似乎有一种方法,有朝一日可能会成为一种可行的解决方法。 wordpress-mssql

【讨论】:

我一直在寻找插件,但没有找到任何东西。有什么你知道的插件吗? @bvandrunen 不。可以公平地说,在这一点上,没有办法以稳定的方式使用 MS SQL 运行 Wordpress,原因有很多,即使是魔法插件也无法做到解决。别再浪费时间了,开始关注 mySQL。【参考方案4】:

所以我们在 IIS 7 和 Wincache 插件下运行带有 MS SQL 2008 的 Wordpress 3,它很棒。诀窍是另一张海报建议的是存在于许多插件中的 MySQL。项目在这里http://sourceforge.net/projects/wp-sqlsrv/

【讨论】:

【参考方案5】:

WordPress 本身不会运行 MSSQL。但是,支持 MSSQL 的最新 fork does exist。

【讨论】:

以上是关于mssql数据库如何通过sql循环创建表的主要内容,如果未能解决你的问题,请参考以下文章

[转]史上最全的MSSQL复习笔记

如何修改mssql数据库编码

如何遍历表的列名并将值传递给 MSSQL while 循环中的 UDF

MSSQL之三 在表中操纵数据

mssql学习

MSSQL数据库如何转换为MYSQL数据库?