是否可以创建用户定义的异常并能够更改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) 我想从其他几个变量创建一个"完整文件名"变量,但字符串连接和字符串格式操作的行为不符合我的预期.
我的代码如下:
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) 我想对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实现这一目标?
我有这样的字符串:
{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)
有人可以指出我的模式有什么问题吗?