金色的骷髅 发表于 2015-1-16 22:16:11

MYSQL教程之SQL创立的几种存储历程

DBaaS并不意味着解决方案提供者要让自己失业。与其他系统一样,在实施DBaaS解决方案时,客户可能需要部署、迁移、支持、异地备份、系统集成和灾难恢复等方面的帮助。创立存储历程
表名和对照字段能够做参数的存储历程
CreatePROCEDUREsp_getTeacherInfo
@TblNamenvarchar(30),--表名
@CmpStrnvarchar(30),--介入对照的值
@TblAtrnvarchar(30)--介入对照的字段
AS
DECLARE@sqlvarchar(4000)
SET@sql="select*from"+@TblName+"where"+@TblAtr+"="+@CmpStr
EXEC(@sql)


表tbl_TeacherInfo


Execsp_getTeacherInfo"tbl_TeacherInfo","TeaNo","07417502"
//注重:像如许的挪用是毛病的
复原成查询语句
select*fromtbl_TeacherInfowhereTeaNo=07417502
之以是没报错,是由于参数"07417502"被误以为了整型,举行了整数的对照

Execsp_getTeacherInfo"tbl_TeacherInfo","Name","楚留喷鼻"
//报错
复原成查询语句
select*fromtbl_TeacherInfowhereTeaNo=楚留喷鼻
//明显是毛病的

准确的挪用办法
Execsp_getTeacherInfo"tbl_TeacherInfo","Name",""楚留喷鼻""
复原成查询语句
select*fromtbl_TeacherInfowhereTeaNo="楚留喷鼻"

惯例存储历程的创立
CreatePROCEDUREsp_AddRowToLogin
@TeaNonvarchar(100),--对照字段
@TeaNamenvarchar(100)--对照字段
AS
insertintotbl_UserLoginvalues(@TeaNo,@TeaName,@TeaNo,0)


除指定列其他列都前往的存储历程
CREATEPROCEDUREsp_Alter
@TblNamenvarchar(30)--表名
AS
declare@sqlvarchar(1000)
select@sql="select"
select@sql=@sql+name+","fromsyscolumnswhereid=object_id(@TblName)andnamenotin("ID","TeaNo")
select@sql=left(@sql,len(@sql)-1)
select@sql=@sql+"from"+@TblName
exec(@sql)

//除ID和TeaNo两列不前往,其他都前往
应用程序需要使用数据库,数据库本身需要设计、开发和部署。还有MySQL学习教程,客户怎样实施混合系统,或者需要帮助管理多个云服务?

小女巫 发表于 2015-1-19 06:28:05

比如,MicrosoftSQLServer2008的某一个版本可以满足现在的这个业务的需要,而且价格还比Oracle11g要便宜,那么这一产品就是适合的。

蒙在股里 发表于 2015-1-19 06:28:05

如果,某一版本可以提供强大的并发响应,但是没有Oracle的相应版本稳定,或者价格较贵,那么,它就是不适合的。

柔情似水 发表于 2015-1-28 05:13:05

所以你总能得到相应的升级版本,来满足你的需求。

若天明 发表于 2015-2-5 16:50:47

始终遗憾SQLServer的登陆无法分配CPU/内存占用等指标数。如果你的SQLServer给别人分配了一个只可以读几个表的权限,而这个家伙疯狂的死循环进行连接查询,会给你的系统带来很大的负担。

分手快乐 发表于 2015-2-13 00:55:36

换言之,只有在不断的失败中尝试成功,而关于失败的总结却是很少的

简单生活 发表于 2015-3-3 12:00:48

然后最好有实践机会,能够把实践到的和实践结合起来,其实理论思考是个非常困扰和痛苦的事情

愤怒的大鸟 发表于 2015-3-18 09:22:41

只能告诉你,学好数据库语言和原理,多见识几种数据库软件,比一棵树上吊死要好。
页: [1]
查看完整版本: MYSQL教程之SQL创立的几种存储历程