PROCEDURE SCOTT.TEST_POR 编译错误 错误:PLS-00302: 必须声明 'GET_ELEM' 组件 ?

编译存储过程报错,提示我,必须先声明get_elem组件

问题描述:自己在学习json的相关知识,其中有一个是利用pl/sql解析json格式的数据,根据教程写了一个比较简单的存储过程,编译的时候报错。
错误位置在最后一部分的for循环取数据的时候。
图片说明

经过检查,发现json_list中有这个get_elem方法,被注释掉了,如何启用?

图片说明

具体代码如下:

CREATE OR REPLACE PROCEDURE TEST_POR AS
  --准备工作
  G_JSON_VACHAR VARCHAR2(4000); --声明存储json数据的的g_json_varchar
  G_JSON_ALL    JSON; --声明json格式,存储整个json
  G_JSON_PART   JSON; --存储部分数据 applelist
  G_JSON_LIST   JSON_LIST; --存放json_list列表
  G_MARKETCODE  VARCHAR2(8);
  G_MARKETNAME  VARCHAR2(20);
  G_ADDRESS     VARCHAR2(40);
  G_TEL         VARCHAR2(15);
  G_NAME        VARCHAR2(20);
  G_FRUITCODE   VARCHAR2(20);
BEGIN
  G_JSON_VACHAR := '{
    "marketcode": "123456",
    "marketname": "好吃的水果店",
    "address": "一个好地方",
    "tel": "12345678901",
    "fruitlist": {
        "name": "apple",
        "fruitcode": "223344",
        "applelist": [
            {
                "applename": "redapple ",
                "applecode": "111000",
                "price": "10"
            },
            {
                "applename": "greenapple ",
                "applecode": "111111",
                "price": "12"
            },
            {
                "applename": "yellowapple ",
                "applecode": "111222",
                "price": "8"
            }
        ]
    }
}';
  G_JSON_ALL    := JSON(G_JSON_VACHAR);
  --获取第一层
  G_MARKETCODE := JSON_EXT.GET_STRING(G_JSON_ALL, 'marketcode');
  G_MARKETNAME := JSON_EXT.GET_STRING(G_JSON_ALL, 'marketname');
  G_ADDRESS    := JSON_EXT.GET_STRING(G_JSON_ALL, 'address');
  G_TEL        := JSON_EXT.GET_STRING(G_JSON_ALL, 'tel');
  --获取第二层
  G_NAME      := JSON_EXT.GET_STRING(G_JSON_ALL, 'fruitlist.name');
  G_FRUITCODE := JSON_EXT.GET_STRING(G_JSON_ALL, 'fruitlist.fruitcode');
  --获取第三层,利用json_list来存放json列表
  G_JSON_LIST := JSON_LIST();
  G_JSON_PART := JSON(); --用来存放一部分的数据,applelist中的数据
  G_JSON_LIST := JSON_EXT.GET_JSON_LIST(G_JSON_ALL, 'fruitlist.applelist');

  --利用循环返回每个json部分的值
  FOR I IN 1 .. G_JSON_LIST.COUNT LOOP
    --读取每个品种的具体信息
    G_JSON_PART := JSON(G_JSON_LIST.GET_ELEM(I));  

    G_JSON_LIST.
    DBMS_OUTPUT.PUT_LINE(JSON_EXT.GET_STRING(G_JSON_PART, 'applename'));
    DBMS_OUTPUT.PUT_LINE(JSON_EXT.GET_STRING(G_JSON_PART, 'applecode'));
    DBMS_OUTPUT.PUT_LINE(JSON_EXT.GET_STRING(G_JSON_PART, 'price'));
  END LOOP;
END;

1个回答

自己琢磨出来了,如何启用注释掉的方法。以上边的问题get_elem 为例

在第一个页面找到get_elem 方法的定义,复制粘贴下来。

图片说明

在第二个页面找到get_elem 方法的具体实现,也是复制粘贴出来

图片说明

最后只需要执行一下就行了。完美。哈哈哈哈哈
之后编译就没有问题了。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
SQL Server 数据库存储过程缓存表sys.dm_exec_procedure_stats的具体作用
关于数据库存储过程 看到很多文章提出可以通过表sys.exec_procedure_stat来查询数据库存储过程 执行了多少次、执行的执行计划如何、执行的平均读写如何、执行平均需要多少时间等信息。 具体代码如: ``` SELECT a.name AS 存储过程名称, a.create_date AS 创建日期, a.modify_date AS 修改日期, b.cached_time AS 缓存时间, b.last_execution_time AS 最后执行日期, b.execution_count AS 执行次数 FROM sys.procedures a LEFT JOIN sys.dm_exec_procedure_stats b ON a.object_id = b.object_id AND b.database_id = '11' WHERE a.is_ms_shipped = 0 ORDER BY b.execution_count desc ``` 但它的查询结果里有很多我很确信执行了的存储过程完全没有执行记录。 想请大佬指导一下这个表sys.exec_procedure_stat到底什么时候发挥作用?什么情况下能更新这个表?什么情况无法更新? 如何能在数据库中记录存储过程执行情况? 感激不尽
{"ORA-06550: PLS-00306: 调用 '**' 时 错误 ORA-06550:
{"ORA-06550: 第 1 行, 第 7 列: PLS-00306: 调用 'PROC_GETDATA' 时参数个数或类型错误 ORA-06550: 第 1 行, 第 7 列: PL/SQL: Statement ignored "} 这是我的程序调用代码 ''' <summary> ''' 获取数据的万能存储过程,查询返回结果集的存储过程调用 ''' Author:Jones.Vale ''' Datetime:20160127 ''' </summary> ''' <param name="strProcName">存储过程名</param> ''' <param name="pa">传入的参数数组,第一列为参数名,第二列为参数值</param> ''' <returns></returns> ''' <remarks></remarks> Public Function ExecStoredProcData(ByVal strProcName As String, ByVal objHashtable As Hashtable) As DataSet Dim mydt As New DataSet Dim myCommand As OracleCommand Dim objOracleParameter As IDictionaryEnumerator = objHashtable.GetEnumerator() Dim iii As Integer iii = 30 myCommand = myORACLEConnection.CreateCommand While objOracleParameter.MoveNext() Dim tempValue As String = TypeName(objOracleParameter.Value) Dim myParameter As New OracleParameter '定义一个参数 If tempValue = "Date" Then myParameter.DbType = DbType.Date '赋参数类型 ElseIf tempValue = "Integer" Then myParameter.DbType = DbType.Int32 '赋参数类型 ElseIf tempValue = "Double" Or tempValue = "Float" Or tempValue = "NUMBER" Then myParameter.DbType = DbType.Double '赋参数类型 Else myParameter.DbType = DbType.String '赋参数类型 End If myParameter.ParameterName = objOracleParameter.Key myParameter.Value = objOracleParameter.Value myCommand.Parameters.Add(myParameter) '加入参数列表 End While myCommand.CommandText = strProcName myCommand.CommandType = CommandType.StoredProcedure Dim dataAdapter As New OracleDataAdapter dataAdapter.SelectCommand() = myCommand dataAdapter.Fill(mydt) Return mydt End Function 以下是在plSQL中执行测试结果没有任何问题。 存储过程代码: CREATE OR REPLACE PROCEDURE PROC_GetData ( v_dateTime date, v_tiger number, p_cur out SYS_REFCURSOR---游标返回 ) as v_sql varchar2(2000) := ' '; begin if v_tiger = 2 then v_sql :='select t.branchno,sum(t.reportloss)/10000 as RV from bhresvfee.t_resv_claim_bhsys t where t.insuranceclass like (''7%'') and casestate<>''9'' group by t.branchno order by t.branchno'; end if; OPEN p_cur FOR v_sql; end PROC_GetData; 高手请指点一下这个问题是什么引起的。怎么处理才有效,谢谢!
ORA-01691: Lob 段 SYS_xxxx无法通过 1024 (在表空间中) 扩展
java.sql.SQLException: ORA-01691: Lob 段 GWTRAVEL.SYS_LOB0000104910C00003$$ 无法通过 1024 (在表空间 GWTRAVEL 中) 扩展 ORA-06512: 在 "GWTRAVEL.CALL_POST_WEB", line 49 ORA-29266: 已达到正文的末尾 **存储过程如下:** create or replace procedure CALL_POST_WEB( requrl in varchar2 , reqbody in varchar2 , sessionId in INTEGER,resenv out clob,statuscode out NUMBER, newSessionId out INTEGER) IS http_req UTL_HTTP.REQ; http_Resp UTL_HTTP.RESP; request_env VARCHAR2(32767); l_Replyline VARCHAR2(32767); http_url VARCHAR2(1000); UUID VARCHAR2(32); respText clob; begin request_env := reqbody; http_url := requrl; if sessionId is not null then RESTORE_COOKIES(sessionId); end if; http_req:=Utl_Http.begin_request(http_url,'POST',UTL_HTTP.http_version_1_1); Utl_Http.Set_Persistent_Conn_Support(http_req, TRUE); --set header UTL_HTTP.set_header(http_req, 'Accept', 'application/json;charset=UTF-8'); UTL_HTTP.set_header(http_req, 'Accept-Encoding', 'gzip, deflate'); UTL_HTTP.set_header(http_req, 'Accept-Language', 'zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3'); Utl_Http.set_header(http_req, 'Connection', 'keep-alive'); Utl_Http.Set_Header(http_req, 'Content-Length', Lengthb(request_env)); Utl_Http.set_header(http_req, 'Content-Type','application/json;charset=UTF-8'); Utl_Http.Set_Body_Charset(http_req, 'utf-8'); Utl_Http.Write_Line(http_req, request_env); http_Resp := Utl_Http.Get_Response(http_req); statuscode := http_Resp.status_code; if sessionId is null then newSessionId:=save_cookies(); end if; -- dbms_output.put_line(statuscode); begin select sys_guid() into UUID from dual; dbms_lob.createtemporary(respText,true); loop Utl_Http.read_text(http_Resp, l_Replyline,800); dbms_lob.append(respText,to_clob(l_Replyline)); end loop; end; EXCEPTION WHEN utl_http.end_of_body THEN resenv:= UUID; insert into DATA_RECV values(UUID,http_url,respText,sysdate); commit; Utl_Http.end_response(http_Resp); UTL_TCP.CLOSE_ALL_CONNECTIONS(); when others then statuscode := -99; resenv := 'error!'; Utl_Http.end_response(http_Resp); Utl_Http.end_request(http_req); UTL_TCP.CLOSE_ALL_CONNECTIONS(); --dbms_output.put_line(statuscode); --dbms_output.put_line(resenv); raise; end CALL_POST_WEB; 问题: 显示在insert into DATA_RECV values(UUID,http_url,respText,sysdate);报错 错误信息: ORA-06512: 在 "GWTRAVEL.CALL_POST_WEB", line 49 ORA-29266: 已达到正文的末尾 求大神帮忙解决
oracle Spatial 存储点集,点集数量过多。
CREATE OR REPLACE PROCEDURE p_test is DECLARE geom mdsys.sdo_geometry; BEGIN geom := mdsys.sdo_geometry(2003, 8307, null, mdsys.sdo_elem_info_array(1,1, 100000), mdsys.sdo_ordinate_array(119.65415, 29.14556, 119.64824 ** 近10万个点 ** )); EXECUTE IMMEDIATE 'update d_area set coordinate=:gm where id = 123' USING geom; END; 在点集特别多的时候报错了,10万个点。 ORA-06550: 第 1 行, 第 33 列: PLS-00801: 内部错误 [22510] ORA-06550: 第 1 行, 第 33 列: PL/SQL: Statement ignored"
Navicat for Oracle 创建执行计划 执行存储过程报错
**Navicat for Oracle 创建执行计划 执行存储过程报错** 当创建执行计划时: --自动执行*1小时 ``` Declare jobno Number; Begin dbms_job.submit(:jobno,'ur_procedure;',Sysdate,'sysdate+1/24'); commit; end; ``` 提示 > [Err] ORA-01008: 并非所有变量都已绑定 还有网上有说计划名称前不加:(冒号)的,但依旧报错 > > [Err] ORA-04063: package body "SYS.DBMS_INTERNAL_LOGSTDBY" 有错误 > ORA-06508: PL/SQL: 无法找到正在调用 : "SYS.DBMS_INTERNAL_LOGSTDBY" 的程序单元 > ORA-06512: 在 "SYS.DBMS_JOB", line 126 > ORA-06512: 在 line 4 > 用的Navicat for Oracle 但搜的的创建执行计划只有上边的那种, 新手,求大神指点,谢谢
Oracle 11g的编译错误
``` create or replace procedure show_book3(reader_name varchar2)is cursor book_cursor is select b.reader_id,b.name,to_char(c.borrow_date,'yyyy-mm-dd') as borrow_date, a.book_name,a.output,a.price,to_char(borrow_date+30,'yyyy-mm-dd') as return_date from book a,reader b,borrow c where c.reader_id=b.reader_id and c.book_id=a.book_id and b.reader_id in (select reader_id from reader where name=reader_name); begin for i in book_cursor loop dbms_output.put_line(i.reader_id ||i.name ||i.borrow_date ||i.book_name ||i.ouput ||i.return_date); end loop; end show_book3; ``` 找了半天没能发现错在哪里 提示是 警告:创建的过程带有编译错误。
Oracle存储过程报错:pls 00201 必须声明标识符
刚接触plsql 我在当前用户创建了一个存储过程并编译成功,然后调用 为什么报错 ora-06550:第4行第3列 pls 00201 必须声明标识符 代码如下 ``` 创建: create or replace procedure test_sse(v_num OUT VARCHAR2) IS BEGIN v_num :='lala'; dbms_output.put_line('v_num:'||v_num); END; 调用: DECLARE ta Varchar2(10); BEGIN test_see(ta); dbms_output.put_line(ta); COMMIT; END; ```
oracle10g PLS-00103: 出现符号 "CREATE" 怎么解决啊
create or replace procedure autocomputer is rs_cursor SYS_REFCURSOR; comment_array myPackage.my.Array; match number; article number; sport number; total number; average number; student_id number; record myPackage.stdInfo; i number; begin i :=1; get_comment(comment_array); open rs_cursor for select t.student_id,t.match,t.article,t.sport from student t ; loop fetch rs_cursor into student_id,match ,article ,sport; exit when rs_cursor%NOTFOUND; total := match + article + sport; for i in 1..comment_array.count loop if record.s_comment = 'a' then begin total := total + 20; exit;--跳出for循环 end; end if; end loop; <<continue>> average := total / 3; update student t set t.total = total, t.average = average where t.student_id = student_id; end loop; end autocomputer; -- 取得学生课外评分信息 create or replace procedure get_comment(commentArray out myPackage.myArray) is --PLS-00103: 出现符号 "CREATE" rs SYS_REFCURSOR ; record myPackage.stdInfo; stu_id number(30); s_comment char(1); i number; begin open rs for select stu_id,s_comment from out_school i := 1; LOOP fetch rs into stu_id,s_comment; exit when rs%NOTFOUND; record.stu_id := stu_id; record.s_comment := s_comment; recommentArray(i) := record; i:=i + 1; end LOOP; end get_comment; -- 定义数组类型myArray create or replace package myPackage is begin type stdInfo is record(stu_id number,s_comment char(1)); type myArray is table of stdInfo index by binary_integer; end myPackage;
oracle 存储过程调用带参数的视图
-- 存储过程 create or replace procedure mytestddd(p_startDate in VARCHAR) as cursor cur_jg is select sl from view_test where package_tjbb.set_scbj_param(0)=0; jg number; begin for jg in cur_jg loop begin dbms_output.put_line(jg.sl); end; end loop; dbms_output.put_line(p_startDate); end mytestddd; -- 包 create or replace package package_test is -- Author : ADMINISTRATOR -- Created : 2019/8/2 14:57:01 -- Purpose : function set_sfsc_param(sfsc varchar2) return varchar2; function get_sfsc_param return varchar2; function set_cjsj_param(cjsj varchar2) return varchar2; function get_cjsj_param return varchar2; end package_test; -- 包体 create or replace package body package_test is paramSfsc varchar2(10); paramCjsj varchar2(20); function set_sfsc_param(sfsc varchar2) return varchar2 is begin paramSfsc:=sfsc; return sfsc; end; function get_sfsc_param return varchar2 is begin return paramSfsc; end; function set_cjsj_param(cjsj varchar2) return varchar2 is begin paramCjsj:=cjsj; return cjsj; end; function get_cjsj_param return varchar2 is begin return paramCjsj; end; end package_test; -- 视图 create or replace view view_test as select count(a.jgid) sl from xt_jgxxb a where a.scbj = package_tjbb.get_scbj_param(); -- sql select sl from view_test where package_tjbb.set_scbj_param(0)=0; 求问大神 为什么sql执行的时候 就可以查出表中的数据 但是我用存储过程调用带参数的视图的时候 就查不到呢
oracle存储过程,pls-00103错误,新手很急!
主要是遍历一个用户下所有包含某个值的所有表名和列名 新手目前没有分,还请体谅 报错误,3,5行 CREATE OR REPLACE procedure SYS.P_FIND( col_name in varchar USERNAMES in varchar ) authid current_user IS lv_tabname varchar2(50); lv_colname varchar2(50); li_count int; str_sql varchar2(255); cursor cur_find is select table_name ,column_name from sys.dba_tab_columns t where owner='WYHISZS2'; begin open cur_find; loop fetch cur_find into lv_tabname,lv_colname; exit when cur_find%notfound; str_sql:='select count(*) into li_count from '||USERNAMES.lv_tabname||' where '||lv_colname||'='||col_name; execute immediate str_sql; if (li_count)>0 then dbms_output.put_line(username.table_name||'--'||username.column_name); insert into WYHISZS2.FIND values (lv_tabname,lv_colname); end if; end loop; close cur_find; commit; --select * from WYHISZS2.FIND; end; /
PLS-00103 出现符号“AS”在下列:
CREATE OR REPLACE PROCEDURE S_DQCYJ/*(V_NY IN VARCHAR2, v_flag in varchar2 := 'S_DQCYJ')*/ is /*---------------------------------------------------------------------------------------- 功能要求:根据........处理(DQCYJ) 编写人: 编写开始日期: 编写结束日期: 参数定义: 年月 数据来源: 调用方法:其它语言中调用,PL/SQL过程中 如:EXEC S_DQCYJ ('参数'); -----------------------------------------------------------------------------------------*/ AS e_clerror exception; v_error_msg varchar2(4000); v_func_result varchar2(1000); \*存放函数返回值*\ v_count number(1) := 0; \*存放处理前数据检查的返回值*\ type r_col is table of varchar2(4000) index by binary_integer; \*存放列名和列值*\ v_col_name r_col; v_col_values r_col; cursor c_proc_1 is SELECT A.WELL_DESC JH, \* 井号*\ B.YEAR_MON NY, \* 年月*\ C.OIL_PROD_METHOD CYFS, \* 采油方式*\ B.PROD_DAYS SCTS, \* 生产天数*\ C.PUMP_DIAMETER BJ, \* 泵径*\ C.PUMP_DEPTH BS, \* 泵深*\ C.STROKE_LENGTH CC, \* 冲程*\ C.STROKE_FREQUENCY CC1, \* 冲次*\ C.DISCHARGE_CAPACITY PL, \* 排量*\ C.PUMP_EFFICIENCY BX, \* 泵效*\ B.OIL_PRES YY, \* 油压*\ B.CASING_PRES TY, \* 套压*\ B.FLOW_PRES LY, \* 流压*\ B.WATER_CUT_RATIO HS, \* 含水率*\ B.OIL_PROD_DAILY RCYL, \* 日产油量*\ B.WATER_PROD_DAILY RCSL, \* 日产水量*\ B.GAS_PROD_DAILY RCQL, \* 日产气量*\ B.OIL_PROD_VOL_MON YCYL, \* 月产油量*\ B.WATER_PROD_VOL_MON YCSL, \* 月产水量*\ B.GAS_PROD_MON YCQL, \* 月产气量*\ B.OIL_PROD_YEAR NCYL, \* 年产油量*\ B.WATER_PROD_YEAR NCSL, \* 年产水量*\ B.GAS_PROD_YEAR NCQL, \* 年产气量*\ B.OIL_PROD_CUM LJCYL, \* 累计油量*\ B.WATER_PROD_CUM LJCSL, \* 累计水量*\ B.GAS_PROD_CUM LJCQL, \* 累计气量*\ NULL BZ \* 备注*\ FROM cy11.cd_well_source@A2LINK.US.ORACLE.COM A, PC_WELL_PRO_MONTHLY@A2LINK.US.ORACLE.COM B, PC_WELL_PRO_MECH_MONTHLY@A2LINK.US.ORACLE.COM C WHERE A.well_id = B.WELL_ID AND A.well_id = C.WELL_ID AND B.YEAR_MON = C.YEAR_MON AND B.YEAR_MON = V_NY;*/ begin /*先删除log_tab_error表中错误信息,并提交数据库**************/ delete from log_tab_error where error_type = v_flag; commit; \*----------处理前检查输入参数是否正确----------------------*\ if (length(v_ny) <> 6) then v_error_msg := '参数格式输入错误!格式应为“yyyymm”,6位数字'; RAISE e_clerror; end if; \*----------处理前各个数据表数据检查---------------------------------*\ select count(*) into v_count from PC_WELL_PRO_MONTHLY@A2LINK.US.ORACLE.COM where rownum < 2 and YEAR_MON = v_ny; if (v_count = 0) then v_error_msg := '在执行过程S_DQCYJ时:"C_WELL_PRO_MONTHLY"表中没有' || v_ny || '月的数据'; RAISE e_clerror; end if; \*处理前先删除插入表当月数据并提交数据库**********************\ delete from DQCYJ where ny = v_ny; commit; \*开始处理数据************************************************\ v_col_name(1) := 'JH'; \**\ v_col_name(2) := 'NY'; \**\ v_col_name(3) := 'CYFS'; \**\ v_col_name(4) := 'SCTS'; \**\ v_col_name(5) := 'BJ'; \**\ v_col_name(6) := 'BS'; \**\ v_col_name(7) := 'CC'; \**\ v_col_name(8) := 'CC1'; \**\ v_col_name(9) := 'PL'; \**\ v_col_name(10) := 'BX'; \**\ v_col_name(11) := 'YY'; \**\ v_col_name(12) := 'TY'; \**\ v_col_name(13) := 'LY'; \**\ v_col_name(14) := 'HS'; \**\ v_col_name(15) := 'RCYL'; \**\ v_col_name(16) := 'RCSL'; \**\ v_col_name(17) := 'RCQL'; \**\ v_col_name(18) := 'YCYL'; \**\ v_col_name(19) := 'YCSL'; \**\ v_col_name(20) := 'YCQL'; \**\ v_col_name(21) := 'NCYL'; \**\ v_col_name(22) := 'NCSL'; \**\ v_col_name(23) := 'NCQL'; \**\ v_col_name(24) := 'LJCYL'; \**\ v_col_name(25) := 'LJCSL'; \**\ v_col_name(26) := 'LJCQL'; \**\ v_col_name(27) := 'BZ'; \**\ for c_1 in c_proc_1 loop \*--处理各列数据-----------------------------------------------*\ v_col_values(1) := c_1.JH; \**\ v_col_values(2) := c_1.NY; \**\ v_col_values(3) := c_1.CYFS; \**\ v_col_values(4) := c_1.SCTS; \**\ v_col_values(5) := c_1.BJ; \**\ v_col_values(6) := c_1.BS; \**\ v_col_values(7) := c_1.CC; \**\ v_col_values(8) := c_1.CC1; \**\ v_col_values(9) := c_1.PL; \**\ v_col_values(10) := c_1.BX; \**\ v_col_values(11) := c_1.YY; \**\ v_col_values(12) := c_1.TY; \**\ v_col_values(13) := c_1.LY; \**\ v_col_values(14) := c_1.HS; \**\ v_col_values(15) := c_1.RCYL; \**\ v_col_values(16) := c_1.RCSL; \**\ v_col_values(17) := c_1.RCQL; \**\ v_col_values(18) := c_1.YCYL; \**\ v_col_values(19) := c_1.YCSL; \**\ v_col_values(20) := c_1.YCQL; \**\ v_col_values(21) := c_1.NCYL; \**\ v_col_values(22) := c_1.NCSL; \**\ v_col_values(23) := c_1.NCQL; \**\ v_col_values(24) := c_1.LJCYL; \**\ v_col_values(25) := c_1.LJCSL; \**\ v_col_values(26) := c_1.LJCQL; \**\ v_col_values(27) := c_1.BZ; \**\ \*--把处理结果插入目标表---------------------------------------*\ insert into DQCYJ (JH \**\, NY \**\, CYFS \**\, SCTS \**\, BJ \**\, BS \**\, CC \**\, CC1 \**\, PL \**\, BX \**\, YY \**\, TY \**\, LY \**\, HS \**\, RCYL \**\, RCSL \**\, RCQL \**\, YCYL \**\, YCSL \**\, YCQL \**\, NCYL \**\, NCSL \**\, NCQL \**\, LJCYL \**\, LJCSL \**\, LJCQL \**\, BZ \**\) values (c_1.JH \**\, c_1.NY \**\, c_1.CYFS \**\, c_1.SCTS \**\, c_1.BJ \**\, c_1.BS \**\, c_1.CC \**\, c_1.CC1 \**\, c_1.PL \**\, c_1.BX \**\, c_1.YY \**\, c_1.TY \**\, c_1.LY \**\, c_1.HS \**\, c_1.RCYL \**\, c_1.RCSL \**\, c_1.RCQL \**\, c_1.YCYL \**\, c_1.YCSL \**\, c_1.YCQL \**\, c_1.NCYL \**\, c_1.NCSL \**\, c_1.NCQL \**\, c_1.LJCYL \**\, c_1.LJCSL \**\, c_1.LJCQL \**\, c_1.BZ \**\); end loop; commit; \*--执行例外*****************\ exception when e_clerror then ROLLBACK; insert into log_tab_error (error_type, error_msg, error_user) values (v_flag, v_error_msg, null); commit; when DUP_VAL_ON_INDEX then ROLLBACK; v_error_msg := '在执行过程S_DQCYJ时:处理到' || 'JH()=' || v_col_values(1) || 'NY()=' || v_col_values(2) || '时,有重复记录!'; insert into log_tab_error (error_type, error_msg, error_user) values (v_flag, v_error_msg, null); commit; when others then ROLLBACK; IF (SQLCODE = -1401) OR (SQLCODE = -1438) THEN -- \*字符或数值超宽*\ -- \*判断插入值宽度是否大于表字段宽度-----*\ for i in 1 .. 27 loop v_func_result := f_col_len_errmessage('DQCYJ', v_col_name(i), v_col_values(i), 'JH()', v_col_values(1), 'NY()', v_col_values(2)); if (v_func_result != 'Y') then v_error_msg := '在执行过程S_DQCYJ时:' || v_func_result; insert into log_tab_error (error_type, error_msg, error_user) values (v_flag, v_error_msg, null); commit; end if; end loop; ELSE v_error_msg := '在执行S_DQCYJ过程时,执行到' || 'JH()=' || v_col_values(1) || 'NY()=' || v_col_values(2) || '时:' || F_ORA_ERRMESSAGE(SQLCODE) || chr(10) || '系统信息:' || chr(10) || SQLERRM; insert into log_tab_error (error_type, error_msg, error_user) values (v_flag, v_error_msg, null); commit; END IF; END S_DQCYJ; ![图片说明](https://img-ask.csdn.net/upload/201810/18/1539859918_420030.png)
jsp調用存儲過程報錯,請幫忙看看。謝謝
CREATE OR REPLACE procedure SAJET.test_levi(i in varchar) as begin insert into temp_levi(name) values(i); commit; end; / <%String driver = "oracle.jdbc.driver.OracleDriver"; String strUrl = "jdbc:oracle:thin:@10.240.144.110:1521:SAJET"; Class.forName(driver); Connection conn = DriverManager.getConnection(strUrl,"sajet","te"); out.print(conn); String procedure = "{call sajet.test_levi(?)}"; CallableStatement cstmt = conn.prepareCall(procedure); cstmt.setString(1,customer); cstmt.execute(); conn.close(); out.print(cstmt); out.print(customer); %> java.sql.SQLException: ORA-06550: line 1, column 8: PLS-00103: Encountered the symbol "?" when expecting one of the following: begin case declare exit for goto if loop mod null pragma raise return select update while with <ID> <外加雙引號的分界 ID> <連結變數> << close current delete fetch lock insert open rollback savepoint set sql execute commit forall merge pipe The symbol "?" was ignored. 执行到cstmt.execute();就会报以上错误,请帮忙看看,非常感谢
如何解决sql server2008下提示master.dbo.spt_datatype_info不存在的问题?
USE DB_AA GO SET ANSI_NULLS, QUOTED_IDENTIFIER ON GO CREATE PROCEDURE dbo.[GetFldInfo] WITH ENCRYPTION AS Begin SELECT Cast(Upper(Obj.name) As Varchar(28)) As TABLE_NAME, Cast(Col.name As Varchar(20)) As FieldNAME, Fld_NO=convert(int,(select count(*) from syscolumns C where C.id = Col.id AND C.number= Col.number AND C.Colid<= Col.Colid )), Cast ( spt_dtp.LOCAL_TYPE_NAME As Varchar(20)) As FieldTYPE, CONVERT(int, OdbcPrec(Col.xtype,Col.length, Col.xprec) + spt_dtp.charbin) As FieldLen, Cast (Com.text As Varchar(100)) As defaultValue, CASE Col.isnullable WHEN 1 THEN 'YES' ELSE 'No' END As IsNullable, ISKey =(select TOP 1 A.ColID from sysIndexkeys A,Sysindexes B where (A.ID=B.ID) and (A.IndID=B.IndID) And (A.ColID=Col.ColID)And (A.ID=Obj.ID) And (B.Name like 'PK%') order by B.INDID ) FROM SysObjects Obj, master.dbo.spt_datatype_info Spt_dtp, Systypes typ, TABLESRC Src , Syscolumns Col LEFT OUTER JOIN Syscomments Com ON Col.cdefault = Com.ID AND Com.ColID = 1 WHERE Obj.ID = Col.ID AND Typ.xtype = Spt_dtp.ss_Dtype AND (spt_dtp.ODBCVer IS NULL OR Spt_dtp.ODBCVer = 2) AND Obj.xtype='U' And User_ID('dbo')=Obj.UID and Col.xusertype = Typ.xusertype AND (spt_dtp.AUTO_INCREMENT IS NULL OR Spt_dtp.AUTO_INCREMENT = 0) And (Upper(Obj.Name)=Src.Table_name) Order by Src.Table_name,Col.ColID END GO 在sql2000下执行没问题,在sql2008下,提示master.dbo.spt_datatype_info不存在
orcal 存储过程 报错:success with compilation error
create or replace procedure test_count as id VARCHAR2(50); name VARCHAR2(50); credentialCode VARCHAR2(50); FK_ITEM_ID VARCHAR2(50); totalMoney VARCHAR2(50); totalBuyTime VARCHAR2(50); usedTime VARCHAR2(50); freeTime VARCHAR2(50); totalTime VARCHAR2(50); diffTime VARCHAR2(50); --IF_RIGHT VARCHAR2(50); begin SELECT --c.*,c.购买学时 - c.已花费 应该剩余 c.userid into id ,c.name into name, c.login_id into credentialCode ,c.fk_item_id into FK_ITEM_ID, c.购买学时 - c.已花费 into freeTime,c.已花费 into usedTime, c.购买学时 into totalBuyTime, c.different_time into diffTime,c.totalMoney into totalMoney FROM ( SELECT e.name, --s.login_id, T.login_id, T . SID AS userid, NVL (T .utime, 0) + NVL (TO_NUMBER(T .ptime), 0) - SUM (zb.class_time) AS different_time, SUM (zb.class_time) AS 购买学时, T .ptime AS 剩余, T .utime AS 已花费, zb.fk_item_id AS fk_item_id, t.totalMoney FROM ( SELECT su. ID AS SID, su .login_id as login_id, -- 加 SUM (pbc. TIME) AS utime, pt. TIME AS ptime, "SUM" (zii.study_price * pbc. TIME) as totalMoney FROM sso_user su LEFT JOIN training_course_student tc ON tc.student_id = su. ID -- 学习记录进度表 LEFT JOIN zgpx_class_opencourse zo ON tc.course_id = zo. ID -- 课程批次关联表 LEFT JOIN pe_bzz_tch_course pbc ON pbc. ID = zo.course_id -- 课程基本信息表 LEFT JOIN ZGPX_ITEM_INFO zii on pbc.CONFER_NAME = zii.id -- 资格表 LEFT JOIN ( SELECT ssu. ID AS ssuid, SUM (ptp. TIME) AS TIME FROM PE_TOTAL_PEROID ptp -- 学时账号余额表 LEFT JOIN SSO_USER ssu ON ssu.LOGIN_ID = ptp.CREDENTIAL_CODE AND ptp.FK_ITEM_ID = ssu.FK_ITEMINFO_ID GROUP BY ssu. ID ) pt ON pt.ssuid = su. ID WHERE tc.is_delete IS NULL AND ( pbc.confer_name = su.fk_iteminfo_id OR pbc. ID IS NULL ) GROUP BY su. ID, pt. TIME, su .login_id ) T LEFT JOIN zgpx_book_sso_order zb ON zb.fk_sso_user = T . SID, --sso_user s, -- pe_employee_info e WHERE (zb.fk_order_status = '20131012' or zb.fk_order_status = '2016052502') --and s.id =T . SID -- --and e.fk_sso_user_id=s.id and e.fk_sso_user_id=t.SID GROUP BY T . SID, --s.login_id, -- T.login_id, e.name, T .utime, T .ptime, fk_item_id, totalMoney ) C WHERE c.different_time != '0' -- c.different_time大于0 或小于0均为异常数据 ORDER BY c.different_time DESC; DBMS_OUTPUT.put_line('总人数:'||diffTime); end; ``` ```
利用delphi录入数据时代码错误问题
procedure TFrm_stu_ins.Button1Click(Sender: TObject); begin //写入数据 if (Trim(edt_name.Text)<>'') and (Trim(edt_numb.Text)<>'' ) and (Trim(edt_id.Text)<>'') then begin dm.q_stu_ins_ins.close; dm.q_stu_ins_ins.SQL.Clear; dm.q_stu_ins_ins.SQL.Add('insert into tbl_base(clm_cls_numb,clm_name,clm_sex,clm_numb,clm_id,clm_add,clm_QQ,clm_mob,clm_mail) valueS(:t1,:t2,:t3,:t4,:t5,:t6,:t7,:t8,:t9)'); // trim dm.q_stu_ins_ins.Parameters.ParamByName('t1).Value:=Trim(edt_cls_numb.Text); dm.q_stu_ins_ins.Parameters.ParamByName('t2').Value:=Trim(edt_name.Text); dm.q_stu_ins_ins.Parameters.ParamByName('t3').Value:=Trim(edt_sex.Text); dm.q_stu_ins_ins.Parameters.ParamByName('t4').Value:=Trim(edt_numb.Text); dm.q_stu_ins_ins.Parameters.ParamByName('t5').Value:=Trim(edt_id.Text); dm.q_stu_ins_ins.Parameters.ParamByName('t6').Value:=Trim(edt_add.Text); dm.q_stu_ins_ins.Parameters.ParamByName('t7').Value:=Trim(edt_qq.Text); dm.q_stu_ins_ins.Parameters.ParamByName('t8').Value:=Trim(edt_mob.Text); dm.q_stu_ins_ins.Parameters.ParamByName('t9').Value:=Trim(edt_mail.Text); dm.q_stu_ins_ins.ExecSQL; // 重新列出表中数据 DBGrid1.DataSource:=dm.ds_stu_ins_grid; dm.ds_stu_ins_grid.DataSet:=dm.q_stu_ins_grid; dm.q_stu_ins_grid.Active:=false; dm.q_stu_ins_grid.Connection:=dm.conn; dm.q_stu_ins_grid.SQL.clear; dm.q_stu_ins_grid.SQL.Add('select * from tbl_base order by clm_r_id desc'); dm.q_stu_ins_grid.Active:=true; end else Begin ShowMessage('姓名、学号、身份证号不能为空'); end; end; end. 运行代码是出现问题‘project stu.exe raised exception class EDatabaseError with message 'q_stu_ins_ins:parameter 't1' not found'.process stopped. use step or run to continue. 请问这个是哪里出问题了,怎么解决?
oracle 11.2.0.1升级到11.2.0.4
SQL> @?/rdbms/admin/utlu112i.sql ……………… Miscellaneous Warnings ********************************************************************** WARNING: --> Database is using a timezone file older than version 14. .... After the release migration, it is recommended that DBMS_DST package .... be used to upgrade the 11.2.0.1.0 database timezone version .... to the latest version which comes with the new release. 在升级模式下执行: SQL> EXEC DBMS_DST.BEGIN_PREPARE(14); PL/SQL procedure successfully completed. SQL> EXEC DBMS_DST.END_PREPARE; PL/SQL procedure successfully completed. SQL> EXEC DBMS_DST.BEGIN_UPGRADE(14); BEGIN DBMS_DST.BEGIN_UPGRADE(14); END; * ERROR at line 1: ORA-00904: "VIRTUAL_COLUMN": invalid identifier ORA-06512: at "SYS.DBMS_DST", line 113 ORA-06512: at "SYS.DBMS_DST", line 1101 ORA-06512: at line 1 找不到出错的原因,求大侠们帮忙?
关于ORACLE里的游标处理问题
DB2数据库的存储过程里有这样一句: [code="java"]begin declare sel_cur cursor with return to caller for select * from tmp_zzybtz_day_lsb order by day,daymc ; open sel_cur; end; [/code] 我转换为ORACLE的存储过程写成这样: [code="java"]begin cursor sel_cur is select * from tmp_zzybtz_day_lsb order by day,daymc ; open sel_cur; end; [/code] 可是运行还是报错: Compilation errors for PROCEDURE JCFX.P_ZZYBTZ_DAY Error: PLS-00103: Encountered the symbol "SEL_CUR" when expecting one of the following: := . ( @ % ; Line: 144 Text: cursor sel_cur is select * from tmp_zzybtz_day_lsb order by day,daymc ; Error: PLS-00103: Encountered the symbol "END" when expecting one of the following: begin function package pragma procedure subtype type use <an identifier> <a double-quoted delimited-identifier> form current cursor Line: 146 Text: end; [color=red]DB2的语法怎么转换成ORACLE里的呢,我对游标不是很熟悉[/color]
ORACLE存储过程update不了也不报错,请大神帮帮忙
存储过程如下,出不来计算数据,查了一下发下Update操作没有更新,也不报错,有点急 ``` PROCEDURE update_marketing_moneys AS --根据佣金表里获取当月数据 CURSOR p_fycDetail_list IS select sum(y.FYC_Money) as fyc_moneys, info.pid, info.profession_level, nvl(y.intro_platform, 'cfy') as intro_platform from is_crm_trade_audit_fyc y, v_store_userinfo info where y.count_status = '1' and y.confirm_grant_status = '1' --是否待发放 and y.expect_time = to_char(sysdate, 'yyyy-MM') || '-25' and y.ins_parent_pid = info.pid and y.owner_channel_type <> '3' group by info.pid, info.profession_level, y.intro_platform; BEGIN FOR p_fyc IN p_fycDetail_list LOOP IF p_fyc.fyc_moneys > 1000 THEN BEGIN --更新行销津贴 UPDATE is_crm_commission_fyc_grant g SET g.marketing_rate = nvl((select nvl(r.rule_coefficient, '0') from is_crm_commission_rule r where r.rule_type = '4' and r.rule_sub_type = p_fyc.profession_level and r.rule_data_begin <= p_fyc.fyc_moneys and r.rule_data_end > p_fyc.fyc_moneys), '0.15'), g.marketing_money = nvl((select nvl(r.rule_coefficient, '0') from is_crm_commission_rule r where r.rule_type = '4' and r.rule_sub_type = p_fyc.profession_level and r.rule_data_begin <= p_fyc.fyc_moneys and r.rule_data_end > p_fyc.fyc_moneys), '0.15') * g.fyc_moneys where g.store_pid = p_fyc.pid and g.intro_platform = p_fyc.intro_platform and g.expect_time = to_char(sysdate, 'yyyy-MM') || '-25'; COMMIT; EXCEPTION WHEN OTHERS THEN UPDATE is_crm_commission_fyc_grant g SET g.marketing_rate = '0.15', g.marketing_money = '0.15' * g.fyc_moneys where g.store_pid = p_fyc.pid and g.intro_platform = p_fyc.intro_platform and g.expect_time = to_char(sysdate, 'yyyy-MM') || '-25'; END; COMMIT; END IF; END LOOP; --如果没有级别则默认为15%的fyc金额 UPDATE is_crm_commission_fyc_grant g SET g.marketing_rate = '0.15', g.marketing_money = '0.15' * g.fyc_moneys where g.profession_level is null and to_number(g.fyc_moneys) >= 1000 and g.owner_channel_type <> '3' and g.grant_satus = '0'; END; ```
oracle 00306 调用‘||’时个数或参数错误
create or replace procedure lable_to_lable_relation is Cursor phases is select distinct lt.phase from lable_temple lt ; phaseName varchar2(100); sqlStr varchar2(2000); begin --创建标签关系表 sqlStr:='create table SYSTEM.lable_relation (id number(16) primary key, lable_id number(16),parent_id number(16),del_mark number(1),levels number(2))'; EXECUTE IMMEDIATE sqlStr; --插入数据第一层数据(表的序列为lable_relation_seq_test) sqlStr:=' insert into lable_relation(id,lable_id,parent_id,del_mark,levels) select lable_relation_seq_test.nextval, (select tl.id from test_lable tl where tl.lable_name = A.lableName) as lable_id, 0 as parent_id, 0 as delmark, (select tl.lable_type_id from test_lable tl where tl.lable_name = A.lableName) as leavels from (select distinct lt.phase as lableName from lable_temple lt) A'; EXECUTE IMMEDIATE sqlStr; --插入第二层数据信息 for phaseName in phases Loop sqlStr:=' insert into lable_relation(id,lable_id,parent_id,del_mark,levels) select (select tl.id from test_lable tl where tl.lable_name = A.lableName) as lable_id, (select A.id from (select lr.id, lr.parent_id, lr.del_mark, lr.levels from lable_relation lr where lr.lable_id in (select tl.id from test_lable tl where tl.lable_name ='||phaseName||' )) A where A.levels = 1 start with A.parent_id = 0 Connect by prior A.id = A.parent_id) as parent_id, 0 as del_mark, (select tl.lable_type_id from test_lable tl where tl.lable_name = A.lableName) as leavels from (select distinct lt.subject as lableName from lable_temple lt where lt.phase ='||phaseName||' ) A'; EXECUTE IMMEDIATE sqlStr; end Loop; --插入敌三层数据信息 end lable_to_lable_relation;
相见恨晚的超实用网站
搞学习 知乎:www.zhihu.com 简答题:http://www.jiandati.com/ 网易公开课:https://open.163.com/ted/ 网易云课堂:https://study.163.com/ 中国大学MOOC:www.icourse163.org 网易云课堂:study.163.com 哔哩哔哩弹幕网:www.bilibili.com 我要自学网:www.51zxw
爬虫福利二 之 妹子图网MM批量下载
爬虫福利一:27报网MM批量下载    点击 看了本文,相信大家对爬虫一定会产生强烈的兴趣,激励自己去学习爬虫,在这里提前祝:大家学有所成! 目标网站:妹子图网 环境:Python3.x 相关第三方模块:requests、beautifulsoup4 Re:各位在测试时只需要将代码里的变量 path 指定为你当前系统要保存的路径,使用 python xxx.py 或IDE运行即可。
字节跳动视频编解码面经
引言 本文主要是记录一下面试字节跳动的经历。 三四月份投了字节跳动的实习(图形图像岗位),然后hr打电话过来问了一下会不会opengl,c++,shador,当时只会一点c++,其他两个都不会,也就直接被拒了。 七月初内推了字节跳动的提前批,因为内推没有具体的岗位,hr又打电话问要不要考虑一下图形图像岗,我说实习投过这个岗位不合适,不会opengl和shador,然后hr就说秋招更看重基础。我当时
开源一个功能完整的SpringBoot项目框架
福利来了,给大家带来一个福利。 最近想了解一下有关Spring Boot的开源项目,看了很多开源的框架,大多是一些demo或者是一个未成形的项目,基本功能都不完整,尤其是用户权限和菜单方面几乎没有完整的。 想到我之前做的框架,里面通用模块有:用户模块,权限模块,菜单模块,功能模块也齐全了,每一个功能都是完整的。 打算把这个框架分享出来,供大家使用和学习。 为什么用框架? 框架可以学习整体
源码阅读(19):Java中主要的Map结构——HashMap容器(下1)
(接上文《源码阅读(18):Java中主要的Map结构——HashMap容器(中)》) 3.4.4、HashMap添加K-V键值对(红黑树方式) 上文我们介绍了在HashMap中table数组的某个索引位上,基于单向链表添加新的K-V键值对对象(HashMap.Node&lt;K, V&gt;类的实例),但是我们同时知道在某些的场景下,HashMap中table数据的某个索引位上,数据是按照红黑树
c++制作的植物大战僵尸,开源,一代二代结合游戏
    此游戏全部由本人自己制作完成。游戏大部分的素材来源于原版游戏素材,少部分搜集于网络,以及自己制作。 此游戏为同人游戏而且仅供学习交流使用,任何人未经授权,不得对本游戏进行更改、盗用等,否则后果自负。 目前有六种僵尸和六种植物,植物和僵尸的动画都是本人做的。qq:2117610943 开源代码下载 提取码:3vzm 点击下载--&gt; 11月28日 新增四种植物 统一植物画风,全部修
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过
Python——画一棵漂亮的樱花树(不同种樱花+玫瑰+圣诞树喔)
最近翻到一篇知乎,上面有不少用Python(大多是turtle库)绘制的树图,感觉很漂亮,我整理了一下,挑了一些我觉得不错的代码分享给大家(这些我都测试过,确实可以生成喔~) one 樱花树 动态生成樱花 效果图(这个是动态的): 实现代码 import turtle as T import random import time # 画樱花的躯干(60,t) def Tree(branch
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 顺便拉下票,我在参加csdn博客之星竞选,欢迎投票支持,每个QQ或者微信每天都可以投5票,扫二维码即可,http://m234140.nofollow.ax.
Python 基础(一):入门必备知识
目录1 标识符2 关键字3 引号4 编码5 输入输出6 缩进7 多行8 注释9 数据类型10 运算符10.1 常用运算符10.2 运算符优先级 1 标识符 标识符是编程时使用的名字,用于给变量、函数、语句块等命名,Python 中标识符由字母、数字、下划线组成,不能以数字开头,区分大小写。 以下划线开头的标识符有特殊含义,单下划线开头的标识符,如:_xxx ,表示不能直接访问的类属性,需通过类提供
深度学习图像算法在内容安全领域的应用
互联网给人们生活带来便利的同时也隐含了大量不良信息,防范互联网平台有害内容传播引起了多方面的高度关注。本次演讲从技术层面分享网易易盾在内容安全领域的算法实践经验,包括深度学习图
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 欢迎 改进 留言。 演示地点跳到演示地点 html代码如下`&lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;title&gt;music&lt;/title&gt; &lt;meta charset="utf-8"&gt
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。 1. for - else 什么?不是 if 和 else 才
数据库优化 - SQL优化
前面一篇文章从实例的角度进行数据库优化,通过配置一些参数让数据库性能达到最优。但是一些“不好”的SQL也会导致数据库查询变慢,影响业务流程。本文从SQL角度进行数据库优化,提升SQL运行效率。 判断问题SQL 判断SQL是否有问题时可以通过两个表象进行判断: 系统级别表象 CPU消耗严重 IO等待严重 页面响应时间过长
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 c/c++ 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7
通俗易懂地给女朋友讲:线程池的内部原理
餐厅的约会 餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”我楞了一下,心里想女朋友今天是怎么了,怎么突然问出这么专业的问题,但做为一个专业人士在女朋友面前也不能露怯啊,想了一下便说:“我先给你讲讲我前同事老王的故事吧!” 大龄程序员老王 老王是一个已经北漂十多年的程序员,岁数大了,加班加不动了,升迁也无望,于是拿着手里
经典算法(5)杨辉三角
杨辉三角 是经典算法,这篇博客对它的算法思想进行了讲解,并有完整的代码实现。
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹
面试官:你连RESTful都不知道我怎么敢要你?
面试官:了解RESTful吗? 我:听说过。 面试官:那什么是RESTful? 我:就是用起来很规范,挺好的 面试官:是RESTful挺好的,还是自我感觉挺好的 我:都挺好的。 面试官:… 把门关上。 我:… 要干嘛?先关上再说。 面试官:我说出去把门关上。 我:what ?,夺门而去 文章目录01 前言02 RESTful的来源03 RESTful6大原则1. C-S架构2. 无状态3.统一的接
为啥国人偏爱Mybatis,而老外喜欢Hibernate/JPA呢?
关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。 声明:本文不会下关于Mybatis和JPA两个持久层框架哪个更好这样的结论。只是摆事实,讲道理,所以,请各位看官勿喷。 一、事件起因 关于Mybatis和JPA孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。我也看
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // doshom...
致 Python 初学者
欢迎来到“Python进阶”专栏!来到这里的每一位同学,应该大致上学习了很多 Python 的基础知识,正在努力成长的过程中。在此期间,一定遇到了很多的困惑,对未来的学习方向感到迷茫。我非常理解你们所面临的处境。我从2007年开始接触 python 这门编程语言,从2009年开始单一使用 python 应对所有的开发工作,直至今天。回顾自己的学习过程,也曾经遇到过无数的困难,也曾经迷茫过、困惑过。开办这个专栏,正是为了帮助像我当年一样困惑的 Python 初学者走出困境、快速成长。希望我的经验能真正帮到你
Python 编程实用技巧
Python是一门很灵活的语言,也有很多实用的方法,有时候实现一个功能可以用多种方法实现,我这里总结了一些常用的方法,并会持续更新。
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,...
程序员:我终于知道post和get的区别
是一个老生常谈的话题,然而随着不断的学习,对于以前的认识有很多误区,所以还是需要不断地总结的,学而时习之,不亦说乎
"狗屁不通文章生成器"登顶GitHub热榜,分分钟写出万字形式主义大作
GitHub 被誉为全球最大的同性交友网站,……,陪伴我们已经走过 10+ 年时间,它托管了大量的软件代码,同时也承载了程序员无尽的欢乐。 万字申请,废话报告,魔幻形式主义大作怎么写?兄dei,狗屁不通文章生成器了解一下。这个富有灵魂的项目名吸引了众人的目光。项目仅仅诞生一周,便冲上了GitHub趋势榜榜首(Js中文网 -前端进阶资源教程)、是榜首哦
推荐几款比较实用的工具,网站
1.盘百度PanDownload 这个云盘工具是免费的,可以进行资源搜索,提速(偶尔会抽风????) 不要去某站买付费的???? PanDownload下载地址 2.BeJSON 这是一款拥有各种在线工具的网站,推荐它的主要原因是网站简洁,功能齐全,广告相比其他广告好太多了 bejson网站 3.二维码美化 这个网站的二维码美化很好看,网站界面也很...
《程序人生》系列-这个程序员只用了20行代码就拿了冠军
你知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 本来应该是没有这期的,看过我上期的小伙伴应该是知道的嘛,双十一比较忙嘛,要值班又要去帮忙拍摄年会的视频素材,还得搞个程序员一天的Vlog,还要写BU...
相关热词 c#处理浮点数 c# 生成字母数字随机数 c# 动态曲线 控件 c# oracle 开发 c#选择字体大小的控件 c# usb 批量传输 c#10进制转8进制 c#转base64 c# 科学计算 c#下拉列表获取串口
立即提问