小编tgx*_*iii的帖子

Oracle PL/SQL - 使用自定义SQLERRM提高用户定义的异常

是否可以创建用户定义的异常并能够更改SQLERRM?

例如:

DECLARE
    ex_custom       EXCEPTION;
BEGIN
    RAISE ex_custom;
EXCEPTION
    WHEN ex_custom THEN
        DBMS_OUTPUT.PUT_LINE(SQLERRM);
END;
/
Run Code Online (Sandbox Code Playgroud)

输出是"用户定义的例外".是否可以更改该消息?

编辑:这里有一些更详细的信息.

我希望这个说明我想要做得更好.

DECLARE
    l_table_status      VARCHAR2(8);
    l_index_status      VARCHAR2(8);
    l_table_name        VARCHAR2(30) := 'TEST';
    l_index_name        VARCHAR2(30) := 'IDX_TEST';
    ex_no_metadata      EXCEPTION;
BEGIN

    BEGIN
        SELECT  STATUS
        INTO    l_table_status
        FROM    USER_TABLES
        WHERE   TABLE_NAME      = l_table_name;
    EXCEPTION
        WHEN NO_DATA_FOUND THEN
            -- raise exception here with message saying
            -- "Table metadata does not exist."
            RAISE ex_no_metadata;
    END;

    BEGIN
        SELECT  STATUS
        INTO    l_index_status
        FROM    USER_INDEXES
        WHERE   INDEX_NAME      = l_index_name;
    EXCEPTION
        WHEN NO_DATA_FOUND THEN …
Run Code Online (Sandbox Code Playgroud)

oracle plsql exception custom-exceptions

75
推荐指数
4
解决办法
30万
查看次数

11
推荐指数
3
解决办法
8682
查看次数

Python 3.2 - 连接和字符串格式化行为不符合预期

我想从其他几个变量创建一个"完整文件名"变量,但字符串连接和字符串格式操作的行为不符合我的预期.

我的代码如下:

file_date = str(input("Enter file date: "))

root_folder = "\\\\SERVER\\FOLDER\\"
file_prefix = "sample_file_"
file_extension = ".txt"

print("")
print("Full file name with concatenation: ")
print(root_folder + file_prefix + file_date + file_extension)
print("Full file name with concatenation, without file_extension: ")
print(root_folder + file_prefix + file_date)
print("")

print("")
print("Full file name with string formatting: ")
print("%s%s%s%s" % (root_folder, file_prefix, file_date, file_extension))
print("Full file name with string formatting, without file_extension: ")
print("%s%s%s" % (root_folder, file_prefix, file_date))
print("")
Run Code Online (Sandbox Code Playgroud)

运行脚本时的输出是:

C:\Temp>python test.py
Enter file date: …
Run Code Online (Sandbox Code Playgroud)

python string-concatenation string-formatting python-3.x

6
推荐指数
1
解决办法
7061
查看次数

ASP.NET - 在GridViewRowEventArgs Row.Cells.Item中使用列名而不是索引

我想对GridView中的单元格执行一些简单的自动格式化.到目前为止,我有以下代码:

Private Sub gridviewRefreshPanel_RowDataBound( _
    ByVal sender As Object, _
    ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) _
        Handles gridviewRefreshPanel.RowDataBound

    Dim readyStatus As String = DataBinder.Eval(e.Row.DataItem, "READY")

    Select Case readyStatus
        Case "NO"
            e.Row.Cells.Item(5).ForeColor = Drawing.Color.Red
            e.Row.Cells.Item(5).Font.Bold = True
        Case "N/A"
            e.Row.Cells.Item(5).ForeColor = Drawing.Color.Goldenrod
            e.Row.Cells.Item(5).Font.Bold = True
        Case "YES"
            e.Row.Cells.Item(5).ForeColor = Drawing.Color.DarkGreen
            e.Row.Cells.Item(5).Font.Bold = True
    End Select

End Sub
Run Code Online (Sandbox Code Playgroud)

我想通过列名而不是索引来引用单元格.例如,DataRow:

row.Item("ON_TIME")
Run Code Online (Sandbox Code Playgroud)

如何使用GridView实现这一目标?

.net vb.net asp.net gridview

5
推荐指数
1
解决办法
6342
查看次数

Python正则表达式提取日期

我有这样的字符串:

{server}_{date:YYYYMMDD}{int:######}
{server}_{date:MON DAY YYYY}{int:######}
Run Code Online (Sandbox Code Playgroud)

......加上更多,采用不同的日期格式.此外,可以有任意数量的{}块,它们可以按任何顺序出现.

我试图在Python 3.2中使用花括号之间的"日期"部分.所以对于第一个字符串,我想得到"{date:YYYYMMDD}",对于第二个字符串,我只想要"{date:MON DAY YYYY}".我想在"日期"块中找到的唯一字符是alpha和空格.

我的正则表达式是:

\{date:(\w|\s)*\}
Run Code Online (Sandbox Code Playgroud)

我已经在这个Regex构建器对此进行了测试,但它没有按预期进行匹配.这是我在Python上的输出:

>>> import re
>>> re.findall('\{date:(\w|\s)*\}', '{server}_{date:YYYYMMDD}{date:MONDAYYYYY}{int:######}')
['D', 'Y']
>>> re.findall('\{date:(\w|\s)*\}', '{server}_{date:MON DAY YYYY}{int:######}')
['Y']
Run Code Online (Sandbox Code Playgroud)

有人可以指出我的模式有什么问题吗?

python regex

5
推荐指数
1
解决办法
2946
查看次数