任何人都可以帮助我了解何时使用:NEW和:OLD在PLSQL块中,我发现很难理解它们的用法.
我有一个带有钩子的api。我想将其修补到我的custom_function。知道我该怎么做吗?我已经修补falcon.before了我的custom_falcon_before。
class TestModel(MyTestCase):
def falcon_before(self, model_exists):
return model_exists
def model_exists(self, req, resp, resource, params, require_exists):
pass
@patch("app.views.expect_model_existence", side_effect=model_exists)
@patch("falcon.before", side_effect=falcon_before)
def test_delete(self, falcon_before, model_exists):
import falcon
print(falcon_before is falcon.before)
print(model_exists is expect_model_existence)
Run Code Online (Sandbox Code Playgroud)
第二个打印是False。
我的API模型如下
class SingleModel:
@falcon.before(expect_model_existence, True)
def on_delete(self, req, resp, model_id):
pass
Run Code Online (Sandbox Code Playgroud) 假设我有三个表,A,B和C.
我做了加入表A和表B,现在我想加入结果AB和表c.
我是否需要创建视图然后执行加入或需要通过嵌套查询执行此操作?
import sys
import paramiko as pm
import os
def mdbAuto(req):
HOST = 'xxx.xxx.xxx.xxx'
USER = 'user'
PASSWORD = 'password'
client = pm.SSHClient()
client.load_system_host_keys()
client.set_missing_host_key_policy(pm.AutoAddPolicy())
client.connect(HOST, username=USER, password=PASSWORD)
channel = client.invoke_shell()
stdin = channel.makefile('wb')
stdout = channel.makefile('rb')
reqID = int(req)
print reqID
stdin.write('''
cd /root/MDB2GRANITE/
python pravinGranite.py %d
ls
exit
''')%reqID
print stdout.read()
stdout.close()
stdin.close()
client.close()
if __name__== "__main__":
req = sys.argv[1]
mdbAuto(req)
Run Code Online (Sandbox Code Playgroud)
上面的代码给出了错误作为不支持的操作数类型.如何为stdin.write函数提供变量值.我猜stdin.write函数将该行写为命令行.有没有办法可以操纵%d使其接受reqID的值?提前致谢.