仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 570|回复: 8
打印 上一主题 下一主题

[学习教程] MYSQL网站制作之将表数据天生SQL剧本的存储历程

[复制链接]
愤怒的大鸟 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:36:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
由于MySQL数据库已经如此普及,对企业来说它无疑是一个更好的选择。存储历程|剧本|数据zlt982001
  将表数据天生SQL剧本的存储历程:
CREATEPROCEDUREdbo.UspOutputData
@tablenamesysname
AS
declare@columnvarchar(1000)
declare@columndatavarchar(1000)
declare@sqlvarchar(4000)
declare@xtypetinyint
declare@namesysname
declare@objectIdint
declare@objectnamesysname
declare@identint
setnocounton
set@objectId=object_id(@tablename)
if@objectIdisnull--判ο笫欠翊嬖
begin
printTheobjectnotexists
return
end
set@objectname=rtrim(object_name(@objectId))
if@objectnameisnullorcharindex(@objectname,@tablename)=0--此判别不周密
begin
printobjectnotincurrentdatabase
return
end
ifOBJECTPROPERTY(@objectId,IsTable)1--判ο笫欠袷table
begin
printTheobjectisnottable
return
end
select@ident=status&0x80fromsyscolumnswhereid=@objectidandstatus&0x80=0x80
if@identisnotnull
printSETIDENTITY_INSERT+@TableName+ON
declaresyscolumns_cursorcursor
forselectc.name,c.xtypefromsyscolumnscwherec.id=@objectidorderbyc.colid
opensyscolumns_cursor
set@column=
set@columndata=
fetchnextfromsyscolumns_cursorinto@name,@xtype
while@@fetch_status-1
begin
if@@fetch_status-2
begin
if@xtypenotin(189,34,35,99,98)--timestamp不需处置,image,text,ntext,sql_variant临时不处置
begin
set@column=@column+casewhenlen(@column)=0thenelse,end+@name
set@columndata=@columndata+casewhenlen(@columndata)=0thenelse,,,
end
+casewhen@xtypein(167,175)then++@name++--varchar,char
when@xtypein(231,239)thenN++@name++--nvarchar,nchar
when@xtype=61then+convert(char(23),+@name+,121)+--datetime
when@xtype=58then+convert(char(16),+@name+,120)+--smalldatetime
when@xtype=36then+convert(char(36),+@name+)+--uniqueidentifier
else@nameend
end
end
fetchnextfromsyscolumns_cursorinto@name,@xtype
end
closesyscolumns_cursor
deallocatesyscolumns_cursor
set@sql=setnocountonselectinsert+@tablename+(+@column+)values(as--,+@columndata+,)from+@tablename
print--+@sql
exec(@sql)
if@identisnotnull
printSETIDENTITY_INSERT+@TableName+OFF
GO
execUspOutputData你的表名
DBaaS系统其实具有更大的市场机遇:像其他云服务一样,DBaaS意味着更短的销售周期,更少的启动费用,持续不断的收入,也意味着比之前更多的客户。
兰色精灵 该用户已被删除
沙发
发表于 2015-1-19 18:18:59 | 只看该作者
可以动态传入参数,省却了动态SQL的拼写。
简单生活 该用户已被删除
板凳
发表于 2015-1-26 16:05:46 | 只看该作者
多走走一此相关论坛,多看一些实例开发,多交流0经验,没什么的,我也是刚学没多久!加油
冷月葬花魂 该用户已被删除
地板
发表于 2015-2-4 17:05:42 | 只看该作者
一直以来个人感觉SQLServer的优化器要比Oracle的聪明。SQL2005的更是比2k聪明了不少。(有次作试验发现有的语句在200万级时还比50万级的相同语句要快show_text的一些提示没有找到解释。一直在奇怪。)
乐观 该用户已被删除
5#
发表于 2015-2-10 04:57:46 | 只看该作者
一个是把SQL语句写到客户端,可以使用DataSet进行加工;
深爱那片海 该用户已被删除
6#
发表于 2015-2-28 20:50:28 | 只看该作者
XML字段类型更好的解决了XML数据的操作。XQuery确实不错,但是个人对其没好感。(CSDN的开发者应该是相当的熟了!)
小魔女 该用户已被删除
7#
发表于 2015-3-10 07:59:26 | 只看该作者
having子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having条件显示特定的组,也可以使用多个分组标准进行分组。
admin 该用户已被删除
8#
发表于 2015-3-17 05:37:29 | 只看该作者
你可以简单地认为适合的就是好,不适合就是不好。
海妖 该用户已被删除
9#
发表于 2015-3-23 22:23:57 | 只看该作者
从项目平台的选择上讲,我们关心的,应该是一款产品能不能满足任务需求,而不是网上怎么说。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-19 07:38

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表