|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQLAB公司。目前MySQL被广泛地应用在Internet上的中小型网站中。存储历程|剧本|数据|数据库
CREATEProcedureDBGenData
?@tableName?Varchar(100)?--表名
AS
DECLARE@columnNameVARCHAR(100)??--列名
DECLARE@TypeNameVARCHAR(100)??--数据范例
DECLARE@columnsVARCHAR(3000)???--
DECLARE@columnsAndheadVARCHAR(3000)?--
SET@columnsAndhead=INSERTINTO+@tableName+(
SET@columns=
?--猎取表的一切字段称号
???DECLAREa?CURSORFOR
?SELECTa.[NAME]ASColumnName,b.[NAME]ASTypeName
?FROMsyscolumnsaINNERJOINsystypesbONa.xtype=b.xtype
?WHEREa.[id]=(SELECT[id]FROMsysobjectsWHERE[NAME]=@tableName)
???OPENa
???FETCHNEXTFROMaINTO@columnName,@TypeName
???WHILE@@FETCH_STATUS=0
???BEGIN
??IF@TypeNameIN(bigint,bit,decimal,float,int,money,numeric,real,smallint,smallmoney,tinyint)
??BEGIN
???SET@columns=@columns+ISNULL(CAST(+@columnName+ASVARCHAR),)+,+
??END
??ELSE
??BEGIN
???SET@columns=@columns+?+?ISNULL(CAST(+@columnName+ASVARCHAR),)++,+
??END
??SET@columnsAndhead=@columnsAndhead+@columnName+,?????
???????FETCHNEXTFROMaINTO@columnName,@TypeName
???END
?SELECT@columnsAndhead=left(@columnsAndhead,len(@columnsAndhead)-1)+)VALUES(
?SELECT@columns=left(@columns,len(@columns)-5)
???CLOSEa?
???DEALLOCATEa??
?
?exec(select+@columnsAndhead+++@columns++)asafrom+@tableName)
GO
Archive非常适合存储大量的独立的,作为历史记录的数据。因为它们不经常被读取。Archive拥有高效的插入速度,但其对查询的支持相对较差 |
|