当前位置: 首页 > news >正文

电子商务网站建设的答案用yii框架做的网站如何搭建

电子商务网站建设的答案,用yii框架做的网站如何搭建,南阳商城站,哪里有网站建设电话PostgreSQL 中文社区 PL/pgSQL 是 PostgreSQL 中的一种存储过程语言#xff0c;它支持许多常用的函数和操作符。下面列举了一些常用的 PL/pgSQL 函数和操作符#xff1a; 1. 常用函数#xff1a; RAISE#xff1a;用于在存储过程中抛出异常。 RAISE EXCEPTION Error oc…PostgreSQL 中文社区 PL/pgSQL 是 PostgreSQL 中的一种存储过程语言它支持许多常用的函数和操作符。下面列举了一些常用的 PL/pgSQL 函数和操作符 1. 常用函数 RAISE用于在存储过程中抛出异常。 RAISE EXCEPTION Error occurred: %, error_message;IF-ELSE用于条件判断。 IF condition THEN-- do something ELSE-- do something else END IF;FOR LOOP用于循环操作。 FOR variable_name IN [ REVERSE ] lower_bound..upper_bound LOOP-- loop body END LOOP;案例 CREATE OR REPLACE FUNCTION print_numbers(start_num INT, end_num INT) RETURNS VOID AS $$ DECLAREi INT; BEGINFOR i IN start_num..end_num LOOPRAISE NOTICE Number: %, i;END LOOP; END; $$ LANGUAGE plpgsql;解析 这个函数名为 print_numbers接受两个参数 start_num 和 end_num然后使用 FOR 循环打印从 start_num 到 end_num 的所有数字。在循环体中使用 RAISE NOTICE 打印每个数字的值。 WHILE LOOP用于执行条件循环。 WHILE condition LOOP-- loop body END LOOP;案例 CREATE OR REPLACE FUNCTION countdown(start_num INT) RETURNS VOID AS $$ DECLAREnum INT : start_num; BEGINWHILE num 0 LOOPRAISE NOTICE Countdown: %, num;num : num - 1;END LOOP; END; $$ LANGUAGE plpgsql;解析 这个函数名为 countdown接受一个参数 start_num然后使用 WHILE 循环实现倒计时功能。在循环体中首先打印当前数字的值然后将数字减一。当数字大于零时循环继续执行直到数字减至零为止。 RETURN用于从函数中返回值。 RETURN value;SELECT INTO用于将查询结果赋值给变量。 SELECT column_name INTO variable_name FROM table_name WHERE condition;EXECUTE用于执行动态 SQL 语句。 EXECUTE SELECT * FROM || table_name;案例 假设有一个存储过程接收一个表名作为参数并执行该表的 SELECT 查询然后返回查询结果。 CREATE OR REPLACE FUNCTION select_from_table(table_name TEXT) RETURNS TABLE (...) AS $$ DECLAREquery TEXT; BEGIN-- 构造动态 SQL 查询语句query : SELECT * FROM || table_name;-- 执行动态 SQL 查询语句RETURN QUERY EXECUTE query; END; $$ LANGUAGE plpgsql; 解析 在这个函数中首先构造了一个动态 SQL 查询语句然后使用 EXECUTE 执行该查询语句。最后使用 RETURN QUERY 返回查询结果。这个函数可以接受任意表名作为参数并执行相应的查询操作。|| 是字符串连接操作符用于将两个字符串连接起来形成一个新的字符串。RETURNS TABLE (...) 表示函数返回一个表类型的结果集。括号中的内容是结果集的列定义可以包含列名和数据类型。 GET DIAGNOSTICS用于获取异常信息。 GET DIAGNOSTICS variable_name condition;案例 假设有一个存储过程执行一条 SQL 查询并获取查询结果的行数并将行数保存到一个变量中。 CREATE OR REPLACE FUNCTION get_row_count() RETURNS VOID AS $$ DECLARErow_count INT; BEGIN-- 执行查询语句EXECUTE SELECT COUNT(*) FROM your_table INTO row_count;-- 获取查询结果的行数GET DIAGNOSTICS row_count ROW_COUNT;-- 打印行数RAISE NOTICE Row count: %, row_count; END; $$ LANGUAGE plpgsql;解释 在这个函数中首先执行了一条 SQL 查询语句然后通过 GET DIAGNOSTICS 获取查询结果的行数并将行数保存到变量 row_count 中。最后使用 RAISE NOTICE 打印行数。 CURSOR FOR 游标用法(了解) 注意游标的命名必须唯一且与其他变量和对象的名称不冲突。 游标声明 DECLAREcursor_name CURSOR FORSELECT column1, column2, ... FROM table_name WHERE condition;在声明游标时您指定要使用的查询并将其分配给一个游标变量。 游标打开 OPEN cursor_name;打开游标后它会开始执行与其关联的查询并准备好从结果集中提取数据。 循环提取数据 LOOPFETCH cursor_name INTO variable1, variable2, ...;-- 在这里对提取出的数据进行处理EXIT WHEN NOT FOUND; END LOOP;在循环中您可以使用FETCH语句从游标中提取数据并将其存储在指定的变量中。FETCH命令会将游标定位到结果集中的下一行数据。如果没有更多的数据可提取则FETCH将引发一个NOT FOUND异常。您可以使用EXIT WHEN NOT FOUND语句来退出循环。 关闭游标 CLOSE cursor_name;在完成对游标的操作后应该关闭游标以释放资源。 案例1 打印当前月数据 CREATE OR REPLACE FUNCTION myschema.pr_date()RETURNS pg_catalog.void AS $BODY$ DECLAREv_current_month DATE : DATE_TRUNC(month, CURRENT_DATE);v_record users%ROWTYPE; BEGINFOR v_record INSELECT * FROM users WHERE DATE_TRUNC(month, created_at) v_current_monthLOOPRAISE NOTICE Data: %, v_record;END LOOP;RETURN; EXCEPTIONWHEN others THENRAISE EXCEPTION Error occurred: %, SQLERRM; END; $BODY$ LANGUAGE plpgsql;可以优化为for查询(结构更加清晰…) CREATE OR REPLACE FUNCTION myschema.pr_dat()RETURNS pg_catalog.void AS $BODY$ DECLAREv_current_month DATE : DATE_TRUNC(month, CURRENT_DATE);v_record users%ROWTYPE; BEGINFOR v_record INSELECT * FROM users WHERE DATE_TRUNC(month, created_at) v_current_monthLOOPRAISE NOTICE Data: %, v_record;END LOOP;RETURN; EXCEPTIONWHEN others THENRAISE EXCEPTION Error occurred: %, SQLERRM; END; $BODY$ LANGUAGE plpgsql;如果需要只需要打印某个字段如下 CREATE OR REPLACE FUNCTION myschema.pr_dat()RETURNS pg_catalog.void AS $BODY$ DECLAREv_current_month DATE : DATE_TRUNC(month, CURRENT_DATE);v_record TEXT; -- 设定为与 name 字段相匹配的数据类型 BEGINFOR v_record INSELECT name FROM users WHERE DATE_TRUNC(month, created_at) v_current_monthLOOPRAISE NOTICE Data: %, v_record;END LOOP;RETURN; EXCEPTIONWHEN others THENRAISE EXCEPTION Error occurred: %, SQLERRM; END; $BODY$ LANGUAGE plpgsql; 2. 常用操作符 :赋值操作符用于将值赋给变量。 variable_name : value;IF-THEN-ELSE条件判断操作符。 IF condition THEN-- do something ELSE-- do something else END IF;相等比较操作符。 IF variable_name value THEN-- do something END IF;! 或 不等于比较操作符。 IF variable_name ! value THEN-- do something END IF;, , , 大小比较操作符用于进行大小比较。 IF variable_name value THEN-- do something END IF;AND, OR, NOT逻辑操作符用于组合条件。 IF condition1 AND condition2 THEN-- do something END IF;IS NULL, IS NOT NULL判断是否为空值。 IF variable_name IS NULL THEN-- do something END IF;LIKE, ILIKE模糊匹配操作符用于模式匹配。 IF variable_name LIKE pattern THEN-- do something END IF;案例 假设有一个存储过程接收一个参数并根据参数值判断执行不同的逻辑操作。 CREATE OR REPLACE FUNCTION check_pattern(input_value TEXT) RETURNS VOID AS $$ BEGINIF input_value LIKE abc% THENRAISE NOTICE Input value starts with abc;ELSERAISE NOTICE Input value does not start with abc;END IF; END; $$ LANGUAGE plpgsql;解析 在这个函数中使用了 LIKE 操作符来判断输入参数 input_value 是否以 “abc” 开头。如果是则打印消息 “Input value starts with “abc””如果不是则打印消息 “Input value does not start with “abc””。
http://www.hkea.cn/news/14273952/

相关文章:

  • 零售网站开发wordpress 社交按钮
  • 湖南网站制作团队给建设单位造成损失的
  • 威胁网站检测平台建设wordpress dux2.0
  • 做企业网站的人才大连网络营销网站
  • 企业网站域名后缀做准的算命网站
  • 毛织厂家东莞网站建设什么是网络建设
  • 网站建设所需费用明细合肥网站开发招聘
  • 济南网站建设招聘域名及网站建设实训
  • 网站建设岗位工作职责北京ui网页设计素材
  • 动漫做3d游戏下载网站网络营销方式的使用方法
  • 怎样建一个英文网站石家庄网络推广公司
  • 网站建设和维护视频建设个人网站的要求
  • 大型网站 开发语言画册什么网站做方便
  • 网站建设方案 百度文库国外做蛋糕网站
  • 自己怎么做个网站南京房地产网站建设
  • 国内建站 wordpress预约做家庭清洁的网站
  • 网站怎么设置关键词邢台网站开发
  • 装置艺术那个网站做的好六盘水遵义网站建设怎么做
  • 做ppt图片用的网站有哪些网站设计好以后怎么上线
  • 美容评测网站建设分析报告广州注册公司代理公司
  • 潍坊市建设局网站成都装修建材网站建设
  • 网站开发浏览器分辨率网站建设 招标公告
  • 关于企业网站建设数据现状分析做相亲网站赚钱吗
  • 天津网站建设制作价格网站建设项目需求分析
  • 旅游景区网站开发的政策可行性我朋友是做卖网站的
  • 网上做头像用什么网站wordpress表结构怎么样
  • 上海网站建设小程序制作旅游网站网页的代码
  • 网站建设基本流程图彩票源码论坛
  • 想自己做个网站在哪里做西安旅游攻略自由行
  • 做网站总结体会做网赌网站怎么推广拉人